Как мне оптимизировать этот sql: выберите count (*) из `order`, где` time`> 1307894400000 - PullRequest
3 голосов
/ 13 июня 2011

Мне нужно получить количество заказов за день (поле «время» - это метка времени java, а таблица «заказ» содержит 1 000 000 записей ), я использую:

select count(*) from `order` where `time`>1307894400000 && `time`<1307980799999

этот sql используется 540мс

Я попытался создать индекс, использовать поле "время", но все еще нужно 390 мс

как мне оптимизировать этот SQL-оператор?

Ответы [ 2 ]

0 голосов
/ 13 июня 2011

Если этого все еще недостаточно, тогда ваш единственный выбор - разбиение таблицы. Многие движки БД позволяют указывать автоматические разделы.

0 голосов
/ 13 июня 2011

Попробуйте с помощью ниже.

выберите количество (YourPrimaryKey) из order, где time> 1307894400000 && time <1307980799999 </p>

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