Логика запроса MySQL

D
На сайте с 28.06.2008
Offline
982
313

Помогите понять логику запроса который выполняется 1,5 сек. -

SELECT COUNT(DISTINCT t1.userid) FROM x621_do_items AS t1 INNER JOIN x621_con_items AS t2 ON t1.userid = t2.user_id

В таблице x621_do_items 341676 записей, но нам не нужно просматривать все.

Нам нужно сравнить только поле userid таблицы x621_do_items (где всего 1740 записей и индекс есть) и поле user_id таблицы x621_con_items

ТАК КАКОГО Фига EXPLAIN показывает что по t1 мускуль перебирает 327261 значений с ипользованием индекса userid?

jpg 1.jpg
D
На сайте с 28.06.2008
Offline
982
#1

Вопрос снят - сам допер как ускорить - WHERE t1.userid > 0

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий