У меня есть одна таблица с приблизительно 20-мегапиксельными записями, и я собираюсь просто вычислить некоторые поля этой таблицы. Но для получения данных требуется много времени. Я рассматриваю все записи, поэтому ни один индекс не появляется на картинке. Поясню:Выполнение запроса Mysql очень медленно
Table : UserLoginDet
------------
LoginID INT
UserID INT
Date DATETIME
SpentTime INT
Теперь я хочу, общей для моей приборной панели, как это.
SELECT COUNT(1) NoOfLogins, DISTINCT(UserID) NoOfUsers, SUM(SpentTime) UsedTime;
Этот запрос занимает 5-6 секунд для выполнения. Это нормально или нет. Я думаю, что это очень медленно для всего лишь 20 миллионов записей. Что мне делать?
Редакцией: Мой объяснить доклад:
id Select_type table type possible_key key key_len ref rows Extra
-- ----------- ----- ---- ------------ ------- ------- --- ------ ------
1 PRIMARY UserLoginDet range PRIMARY PRIMARY 3 797143 Using where
Благодаря
Это 20 тысяч или 20 миллионов? Пожалуйста, исправьте typo ... – PinnyM
@PinnyM, Это миллион –
Время кажется нормальным для полного сканирования таблицы. – Vatev