У меня есть несколько представлений в моей базе данных, в которых я пытаюсь выполнить JOIN, когда определенные запросы становятся очень сложными.В худшем случае мне пришлось бы объединить 3 представления со следующей статистикой:
- Представление 1 содержит 60 КБ + строк с 26 полями.
- Представление 2 имеет 60 КБ + строк с 15 полями.
- Представление 3 содержит 80K + строк с 8 полями.
Объединение представлений 1 и 2 не вызывает проблем, но каждый раз, когда я пытаюсь присоединиться к третьему представлению, запрос зависает.Мне интересно, есть ли какие-нибудь лучшие практики, которым я должен следовать, чтобы эти запросы не зависали.Я пытался использовать наименьшие возможные поля (средние / маленькие, если это возможно, т. Д.).
Мы используем версию сообщества MySQL 5.0.92 с таблицами MyISAM.Не уверен, что InnoDB будет более эффективным.
В качестве последнего средства я подумал о том, чтобы разделить один запрос на два, перейти к представлениям 1 и 2 с первым запросом, а затем просмотреть 3 по отдельности с помощью третьего.Есть ли минус в этом, кроме как сделать 2 запроса?
Спасибо.