Помогите разобраться. Может я туплю, но что-то явно не так. Суть проблемы: В базе данных 10826 записей. Мне нужен их постраничный вывод. Проблема с запросом для вывода последней страницы. Записи сортируются по id в обратном порядке. 1. Запрашиваем последние строки (шаг запроса 100) SQL-запрос: SELECT * FROM `table` ORDER BY `id` DESC LIMIT 10800,100; Запрос занял 5.1798 сек 2. Запрашиваем только оставшиеся строки без учёта шага, до записи с id = 1 (по сути это аналогичный первому варианту запрос) SQL-запрос: SELECT * FROM `table` ORDER BY `id` DESC LIMIT 10800,26; Запрос занял 5.1642 сек 3. Запрашиваем последние 25 строк, но без строки с id = 1, т.е. она просто не попадает в лимит SQL-запрос: SELECT * FROM `table` ORDER BY `id` DESC LIMIT 10800,25; Запрос занял 0.1064 сек Никак не могу понять, почему запрос становится таким "тяжелым", если включить в запрос последнюю (точнее первую по id) строку? Если выделять только id вместо всх полей (SELECT `id`...) этой проблемы не возникает.
даже есть выделяю id и еще какой-то целочисленный столбец - загрузка большая, т.е. видимо это не из-за какого-либо формата данных остальных столбцов
Ksaniol предполагаю, что дело в выделении памяти для мускула. если до 25 записей - то памяти хватает, а если более, то уже нет. Может быть стоит попробовать увеличить доступную память?
точно не в этом, т.к. нет разницы 100 строк выделю или всего 1 1. SQL-запрос: SELECT * FROM `table` ORDER BY `id` DESC LIMIT 10825,1; Запрос занял 5.1468 сек 2. SQL-запрос: SELECT * FROM `table` ORDER BY `id` DESC LIMIT 10725,100; Запрос занял 0.1011 сек 3. SQL-запрос: SELECT * FROM `table` ORDER BY `id` DESC LIMIT 10725,101; Запрос занял 5.1779 сек
видимо действительно дело в одной записи. круто нашёл проблемку если там данных не так уж и много, но тормозит, попробуй эту запись полностью пересоздать
это не зависит именно от этой записи, т.к. аналогичная проблема не только с этой таблицей (( никто не сталкивался с подобным?
нельзя, т.к. постраничный перебор идёт в обратном порядке не помогает скрипт работал на денвере, сейчас поставил его на сервер, таких проблем не обнаружено. значит это проблема не в запросе (( теперь еще сложнее будет выяснить в чём дело