SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 31.05.2010 17:39:34

Марк
Активист
Зарегистрирован: 31.05.2010
Сообщений: 157

Подсчёт строк до определённого колличества.

Здравствуйте. У меня таблица с большим объёмом данных поиск полнотекстовый. т.е в результате поискового запроса получаю очень много записей.
А проблема такая  если при поиске  подсчитывать общее количество найденных записей то запрос будет выполняться довольно долго что мне совсем не нужно. Тем более что поиск выполняется с limit 0,10 понятное дело что если не подсчитывать количество строк, запрос выполнится за 200-400 мс. И вот вопрос, как подсчитать количество строк только до 500 т.е  если больше 500 пользователю вывести "найдено больше 500 записей"  что то на подобие Яндекса или Google ведь если бы Google подсчитывал точное количество записей то запросы точно не возвращались бы за 300мc.

Неактивен

 

#2 31.05.2010 20:06:28

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Подсчёт строк до определённого колличества.

Сходу приходит в голову только делать LIMIT 500, а потом SELECT из этого подзапроса LIMIT 10
и SQL_CALC_FOUND_ROWS. Можно попробовать оценивать количество строк через EXPLAIN.
Количество запросов увеличится в два раза, но считать точное количество строк будет не нужно.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson