Для решения пользовательских постраничной, я должен простой запрос:Двойной запрос запрос с плохими выступлениями
SELECT id, column1, column2, column3
FROM my_table
WHERE column1 IS NOT NULL AND...
ORDER BY id
LIMIT 10 OFFSET 0
это один возвращает данные страницы.
SELECT COUNT(id) FROM my_table WHERE column1 IS NOT NULL AND...
Этот номер возвращает итоговую таблицу.
Нет проблем по первому требованию, перфект хорош. Но второй является медленным медленным ... Конечно, id является индексом (первичный ключ)
Есть ли способ вернуть результат запроса на счет быстрее? Или соединить запрос 2 в одном?
Спасибо за помощь
кол-во (1) использует индекс? первичным будет столбец 0, а не один? – Aurora
Привет, Гордон, действительно используйте count (*) вместо count (id) немного быстрее, но он медленный. Для каждого из моих столбцов я создаю простой индекс: CREATE INDEX column1_index ON my_table (column1 NULLS LAST); Должен ли я создать столько, сколько индекс, который я отфильтровал? (индекс для не является нулевым, другой для TRUE ...)? – Macbernie