В mysql, когда у вас есть 3 таблицы (огромный объем данных), объединены предложением JOIN, в конце SELECT у вас есть предложение LIMIT, SQL-движок делает декартовы произведение таблиц и после этого применяется LIMIT или существует какая-либо оптимизация, сделанная ранее?Поведение LIMIT с использованием предложения JOIN
Я спрашиваю, потому что операция JOIN - дорогостоящая операция, если мы используем большие объемы данных.
В этом случае лучше выполнить JOIN и вытащить все данные, или сделать предложение SELECT с LIMIT N раз?
Mysql не получает больше данных, чем требуется для создания набора результатов. Так что, если это возможно - он читает только количество строк LIMIT – zerkms
С другой стороны, некоторые вещи * могут * предотвратить прерывание MySQL досрочно - например. ORDER BY * может * заставить весь RS быть материализованным первым, потому что LIMIT - это «операция просмотра». –
@pst: это не так очевидно - потому что 'ORDER BY' может использовать индексы – zerkms