Как ускорить выборку из таблицы с миллионом записей?

Всем привет! Ребят, есть на vps база, в ней табличка q. Так вот в ней около десяти полей varchar и id autoincrement primary key.
Записей более чем миллион, на 500мб. Делаю выборку:
select count(*) from q where flag = 0
Записей много, и выборка идет долго, дольше минуты или около того. Дело в vps, или тут никак не избежать такого тайминга?

UPD:
SELECT * FROM q LIMIT 10
Данный запрос выполняется 10 секунд. В чем может быть дело?
  • Вопрос задан
  • 660 просмотров
Решения вопроса 2
Добавьте индекс по полю flag:

CREATE INDEX flag_index ON q (flag);
Ответ написан
@m0nym
миллион записей для современной техники и для современных СУБД - это ерунда.
во первых - нужен индекс на поле по которому делаете фильтрацию - то есть по полю flag
во вторых - операция count(*) в SQL вообще довольно медленная. ее следует избегать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы