donflash
Вареник клуба
SQL_CALC_FOUND_ROWS "убивает" выборку
Просьба не кидать на поиск - уже посмотрел, но про тормоза чёт ничего особенного не увидел.
Имеем следующий запрос:
[sql]
SELECT SQL_CALC_FOUND_ROWS
Q.id
,Q.title
,Q.userid
,L.timestamp
,concat(U.first_name," ",U.last_name) as name
FROM
questions_info AS Q
LEFT JOIN lastactivity AS L ON L.userid = Q.userid
LEFT JOIN users AS U ON U.id = Q.userid
ORDER BY
Q.id DESC
LIMIT
0, 10
[/sql]
Вот на этом запросе всё затыкается, при кол-ве записей > 500K. Но, если сделать в два запроса (select count(*) from...), то всё просто летает. Вообще, я уже давно озадачился этой проблемой, но никак не могу понять причину, ведь фича очень полезная и удобная.
Индексы проставлены на всех таблицах, имеем mysql 5.0.45.
Просьба не кидать на поиск - уже посмотрел, но про тормоза чёт ничего особенного не увидел.
Имеем следующий запрос:
[sql]
SELECT SQL_CALC_FOUND_ROWS
Q.id
,Q.title
,Q.userid
,L.timestamp
,concat(U.first_name," ",U.last_name) as name
FROM
questions_info AS Q
LEFT JOIN lastactivity AS L ON L.userid = Q.userid
LEFT JOIN users AS U ON U.id = Q.userid
ORDER BY
Q.id DESC
LIMIT
0, 10
[/sql]
Вот на этом запросе всё затыкается, при кол-ве записей > 500K. Но, если сделать в два запроса (select count(*) from...), то всё просто летает. Вообще, я уже давно озадачился этой проблемой, но никак не могу понять причину, ведь фича очень полезная и удобная.
Индексы проставлены на всех таблицах, имеем mysql 5.0.45.