Mysql查询执行速度很慢

时间:2013-08-13 11:22:42

标签: mysql performance database-design mysql-workbench

我有一个大约有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

谢谢

1 个答案:

答案 0 :(得分:0)

您可以运行EXPLAIN SELECT COUNT(1) NoOfLogins, DISTINCT(UserID) NoOfUsers, SUM(SpentTime) UsedTime;查看索引使用情况的详细报告。