SQLite: оптимизировать счет - PullRequest
       1

SQLite: оптимизировать счет

1 голос
/ 26 сентября 2011

В моем приложении мне нужно отобразить результаты поиска. Он выбирает первые 250 результатов, но также должен отображать общее количество результатов.

Это замедляет все, потому что я не могу просто прекратить получать результаты после первых 250 строк, мне нужно перебрать их все (миллионы), чтобы просто посчитать их.

Другой подход - выйти из цикла после первых 250 строк и выполнить второй запрос COUNT () после этого. Но некоторые быстрые тесты показали, что запрос COUNT () не использует тот факт, что он выполнял тот же запрос раньше.

Есть ли способ оптимизировать такой сценарий? Поможет ли мне объединить подсчет и выборку в одном запросе вместо двух отдельных? И если так, как бы я это сделал?

Редактировать: Извините, дубликат Как подсчитать количество строк, возвращенных в моем читателе SQLite в C #?

1 Ответ

0 голосов
/ 26 сентября 2011

Если это в одной таблице, вы можете использовать триггер для обновления счетчика.

Каждый триггер вставки увеличивает счетчик; каждый триггер удаления уменьшает его.

См. этот аналогичный вопрос и ответ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...