Mysql查询执行速度非常慢
我有一个大约有2000万条记录的表,我将对该表的一些字段进行简单计算。但是获取数据需要花费很多时间。我在考虑所有的记录,这就是为什么图片中没有索引。 让我解释一下:Mysql查询执行速度非常慢,mysql,performance,database-design,mysql-workbench,Mysql,Performance,Database Design,Mysql Workbench,我有一个大约有2000万条记录的表,我将对该表的一些字段进行简单计算。但是获取数据需要花费很多时间。我在考虑所有的记录,这就是为什么图片中没有索引。 让我解释一下: Table : UserLoginDet ------------ LoginID INT UserID INT Date DATETIME SpentTime INT 现在,我希望我的仪表板像这样的总数 SELECT COUNT(1) NoOfLogins, DISTINCT(Use
Table : UserLoginDet
------------
LoginID INT
UserID INT
Date DATETIME
SpentTime INT
现在,我希望我的仪表板像这样的总数
SELECT COUNT(1) NoOfLogins, DISTINCT(UserID) NoOfUsers, SUM(SpentTime) UsedTime;
执行此查询需要5-6秒。行不行。我认为这是非常缓慢的只有2000万记录。我该怎么办
编辑:
我的报告:
id Select_type table type possible_key key key_len ref rows Extra
-- ----------- ----- ---- ------------ ------- ------- --- ------ ------
1 PRIMARY UserLoginDet range PRIMARY PRIMARY 3 797143 Using where
谢谢您可以运行
解释选择计数(1)NoOfLogins、DISTINCT(UserID)NoOfUsers、SUM(SpentTime)UsedTime
查看索引使用情况的详细报告。是2万还是2000万?请纠正输入错误…@PinnyM,这是第一百万次了。全表扫描似乎很正常。嗨@Vatev,可以吗?我在某处读到mysql对数百万条记录执行计算操作的速度非常快。Hi@Paolo casciello,我使用explain进行了检查,这个查询使用主键进行搜索。并在“额外”中显示“使用位置”。可以吗?@ManishSapkal你能把解释的输出添加到你原来的帖子中吗?嗨@Paolo casciello,我已经把解释的输出添加到我的帖子中了post@ManishSapkal是的,它使用主键。所以这是一个理想的场景。是的,时间似乎很正常。还取决于系统(操作系统、cpu、内存、缓存状态、磁盘)