Ответить
1
JOIN LEFT оптимизация
Отправлено: 8 Окт 2010#1
за время своего знакомства с WEB я понял что оптимизация SQL запросов, особенно сложных запросов и особенно хорошая оптимизация дело такое же сложное как хакерство. Я имею виду хорошее хакерсто. Я сам лично не очень знаком с оптимизацией но когда на глаза попадается интересная статейка я ее обязательно читаю, чтобы если вдруг понадобится, я знал как что сделать. Вот и как то раз я читал статью в которой говорилось о том что при JOINах имеет значение в каком порядке ставить значения при сравнении, то есть
.tracks - 300000 записей
.tracks_meta - 300000 записей
якобы отработают за разное время. Я имею виду значительно разное. Но я протестил и нифига
Это мои таблицы а не со статьи, в статье приводились абстрактные примеры, а я вот на реальных таблицах потестил и не увидил результата от телодвижений. Собственно What a fuck? или как там)))) Кто разбирается, кто объяснит в чем дело?
SELECT a.`id` AS track_id, b.`path` AS path FROM `tracks` a
LEFT JOIN `tracks_meta` b ON b.`track_id` = a.`id`
LEFT JOIN `albums` c ON c.`id` = a.`album_id`
WHERE c.`active` = '1'
иLEFT JOIN `tracks_meta` b ON b.`track_id` = a.`id`
LEFT JOIN `albums` c ON c.`id` = a.`album_id`
WHERE c.`active` = '1'
SELECT a.`id` AS track_id, b.`path` AS path FROM `tracks` a
LEFT JOIN `tracks_meta` b ON a.`id` = b.`track_id`
LEFT JOIN `albums` c ON a.`album_id` = c.`id`
WHERE c.`active` = '1'
.albums - 128000 записейLEFT JOIN `tracks_meta` b ON a.`id` = b.`track_id`
LEFT JOIN `albums` c ON a.`album_id` = c.`id`
WHERE c.`active` = '1'
.tracks - 300000 записей
.tracks_meta - 300000 записей
якобы отработают за разное время. Я имею виду значительно разное. Но я протестил и нифига

Это мои таблицы а не со статьи, в статье приводились абстрактные примеры, а я вот на реальных таблицах потестил и не увидил результата от телодвижений. Собственно What a fuck? или как там)))) Кто разбирается, кто объяснит в чем дело?
Я горжусь тем, что создал . И люблю нашу команду)
Отправлено: 8 Окт 2010#2
Drunya, там по ходу большая разница в размерах таблиц должна быть чтобы разница проявилась. ИМХО
Отправлено: 17 Ноя 2010#3
Видимо так оно и есть. Даже если просто логически подумать. Хотя с другой стороны тогда должно иметь значение что к чему джоинить а не в каком порядке параметры сравнивать.
Я горжусь тем, что создал . И люблю нашу команду)
1
Зарегистрируйтесь или авторизуйтесь что бы писать
Сейчас online: 5. Зарегистрированных: 0. Гостей: 5.
