antenne
Новичок
сортировка и постраничный вывод
Есть таблица t1
из этой таблицы нужно сделать постраничный вывод в браузер пользователю
запрос
SELECT * from t1
WHERE cond...
ORDER BY so LIMIT offset, 10
пока не попал в кэш, выполняется около 1 сек.
далее, оффсет увеличивается (спрашиваем следующие 10 результатов) - еще секунда
насколько я понимаю, сервер MySQL делает выборку, согласно условиям, затем сортирует результат (а это десятки тысяч записей) и выбирает из него 10 строк LIMIT'ом
explain сообщает о using where, using filesort
что можно придумать?
в идеале избавиться от постоянной сортировки..
Есть таблица t1
Код:
+--------------+----------------------+------+-----+
| Field | Type | Null | Key |
+--------------+----------------------+------+-----+
| so | int(6) unsigned | NO | UNI |
| id | int(6) unsigned | NO | PRI |
| dst | tinyint(3) unsigned | NO | MUL |
| cty | enum('Y','N') | NO | MUL |
| status | enum('Off','On') | NO | MUL |
| ..... | ............. | NO | |
+--------------+----------------------+------+-----+
запрос
SELECT * from t1
WHERE cond...
ORDER BY so LIMIT offset, 10
пока не попал в кэш, выполняется около 1 сек.
далее, оффсет увеличивается (спрашиваем следующие 10 результатов) - еще секунда
насколько я понимаю, сервер MySQL делает выборку, согласно условиям, затем сортирует результат (а это десятки тысяч записей) и выбирает из него 10 строк LIMIT'ом
explain сообщает о using where, using filesort
что можно придумать?
в идеале избавиться от постоянной сортировки..