Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

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

Сообщения:  [1-2] 

 
 автор: Axxil   (03.06.2010 в 14:18)   письмо автору
 
   для: Zhazhah   (31.05.2010 в 17:53)
 

Выборка в любом случае будет идти по всей таблице. Так что оптимизацию нужно в другом направлении производить.

>> Тем более что поиск выполняется с limit 0,10

Это миф, что если поставить limit то будет быстрее работать. В любом случае будет построена полная выборка и только потом из неё будут выделены первые 10 строк.

Другое дело, что можно избежать повторного запроса на подсчёт всех элементов выборки, если использовать SQL_CALC_FOUND_ROWS

SELECT SQL_CALC_FOUND_ROWS * FROM table WHERE (conditions) LIMIT 10;
SELECT FOUND_ROWS();


В таком случае первый запрос вернёт первые 10 значений списка и сохранить в памяти полное число строк, а второй запрос это самое полное число строк в выборке вернёт прям из памяти.

  Ответить  
 
 автор: Zhazhah   (31.05.2010 в 17:53)   письмо автору
 
 

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

  Ответить  

Сообщения:  [1-2] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования