我有一张大约有 20M 记录的表,我将对该表的某些字段进行简单计算。但是获取数据需要很长时间。我正在考虑所有记录,这就是图片中没有索引的原因。让我解释 :
Table : UserLoginDet
------------
LoginID INT
UserID INT
Date DATETIME
SpentTime INT
现在我想要这样的仪表板总数。
SELECT COUNT(1) NoOfLogins, DISTINCT(UserID) NoOfUsers, SUM(SpentTime) UsedTime;
此查询需要 5-6 秒才能执行。好不好。我认为只有 20M 条记录非常慢。我应该怎么做?
编辑:我的解释报告:
id Select_type table type possible_key key key_len ref rows Extra
-- ----------- ----- ---- ------------ ------- ------- --- ------ ------
1 PRIMARY UserLoginDet range PRIMARY PRIMARY 3 797143 Using where
谢谢