Re[4]: Двойной JOIN из двух таблиц
От: Sinclair Россия https://github.com/evilguest/
Дата: 26.01.24 12:07
Оценка:
Здравствуйте, IZM, Вы писали:
S>>Ну, это странно. Я предполагаю, что id в обеих таблицах объявлены как primary key, а SQLite вроде бы для них создаёт индексы. Так что можно рассчитвать на log(N).
IZM>А индексы на
IZM> -g_to.id и -g_from.id
IZM>есть?
Я про них и говорю. g_to и g_from — это алиасы для таблицы groups. В ней поле id должно быть объявлено как primary key. Если нет — это надо починить; если да — то sqlite сам создаст для них индексы.
IZM>в запросе именно по таким значениям идет соединение.
IZM>соединение ON -posts.to_id = g_to.id должно использовать индекс
Всё легко увидеть, написав перед запросом explain query plan.
Можете сходить по ссылке и поиграть: https://www.db-fiddle.com/f/cwvYp2P2SB2a2HzVRK3ZWm/5
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.