Dram

Рейтинг
1114
Регистрация
28.06.2008
admak:
условие у вас идет по t4, значит и начинайте джойнить с t4, т.е. как-то так:
FROM tables4_address AS t4

Получится бессмыслица - у меня ведь условиями CONCAT_WS собираются части урла и формируются ссылки на

фирмы из tables1_items в указанном диапазоне координат и данной категории и разделе.

Составной индекс по гео лат-лонг уже есть

Chukcha:
Я не знаю, почему
Но это запрос не должен работать!!!!
Может вы неверно его показываете?

Все работает - с INNER JOIN 4 сек, с LEFT JOIN - 0,005 = быстрее в 800 раз !!! :))) и это не кеш, я проверил добавляя SQL_NO_CACHE

jpg 166896.jpg
jpg 2.jpg
Chukcha:
Я мог бы понять это в секции WHERE, но в LEFT JOIN не понимаю

Если вам не сложно, дайте дамп этих таблиц

К сожалению это основной актив и контент сайта, сори.... Да и как бы сейчас меня все устраивает - я не понимаю механизм - почему LEFT быстрее INNER именно в этом случае, но я получил ускорение с 4 сек. до 0,05 а результат запрос не изменился.

В общем все супер :))

Chukcha:
table2 AS t2 ON t1.object_id = t2.id AND t1.object_group = 'com_group'

насколько я понимаю это (com_group) выбирает из огромной таблицы комментов (на 300.000) записей, комменты для конкретного раздела сайта

Chukcha:
FROM table1 AS t1
INNER JOIN table2 AS t2 ON t1.object_id = t2.id'

4,5 сек

Chukcha:
FROM table2 AS t2
INNER JOIN table1 AS t1 ON t1.object_id = t2.id' AND t1.object_group = 'com_group'

6,02 сек

:)) фиг его знает но пока рекордсмен с тремя LEFT с фантастическими 0.005

Chukcha:
Например меняем порядок таблиц

Неизвестный столбец 't2.object_id' в 'on clause'

danforth:
Дайте угадаю, таблица table2 у вас маленькая?.

table1 самая большая - более 300.000 записей

table2 - примерно 25000

остальные мизер. На всех полях что участвуют в объединении есть индексы. Результат запроса одинаков абсолютли

---------- Добавлено 23.09.2017 в 13:04 ----------

Chukcha:
Потому что первый вообще какой-то "левый"....
Может Вам нужен...

Попробовал ваш запрос - результат тот же - время выполнения 4,4 сек. т.е. дольше всех

Chukcha, ну вы мастер - спасибо! :)))

только что понял что моя логика не верна. Если удалить у фирмы работников, то счетчик уже не обновлится при таких запросах....

Надо че-то еще придумать.

Вот эксплейн вашего запроса

png 166809.png
Всего: 6924