为啥查询速度有时快有时慢?

果儿妈 2014-01-16 04:18:22
D_TF_QUALITY表有1800W 的数据,
表结构
CREATE TABLE `D_TF_QUALITY` (
`cons_id` int(8) NOT NULL,
`tid` int(4) NOT NULL,
`strative_id` varchar(16) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`time_id` varchar(8) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`qua_id` varchar(4) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`sxdlbphd` decimal(16,6) DEFAULT NULL,
`sxdybphd` decimal(16,6) DEFAULT NULL,
`plpc` decimal(16,6) DEFAULT NULL,
`adypc` decimal(16,6) DEFAULT NULL,
`bdypc` decimal(16,6) DEFAULT NULL,
`cdypc` decimal(16,6) DEFAULT NULL,
`abxdypc` decimal(16,6) DEFAULT NULL,
`bcxdypc` decimal(16,6) DEFAULT NULL,
`caxdypc` decimal(16,6) DEFAULT NULL,
PRIMARY KEY (`cons_id`,`tid`,`strative_id`,`time_id`,`qua_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

查询语句:
select CONS_ID,MAX(SXDLBPHD) as MAX_SXDLBPHD from D_TF_QUALITY group by CONS_ID LIMIT 2000;
在没有开查询缓存的情况下,为啥查询速度有快有慢呢?最少也要30s,慢的时候几分钟,啥原因呀?
...全文
441 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rotel-刘志东 2014-01-24
  • 打赏
  • 举报
回复
开启查询缓存的时候,将数据缓存放内存中,内存的读取速度是快于硬盘的。 如果写入的再讲内存中数据库掉入磁盘中永久的保存。
果儿妈 2014-01-23
  • 打赏
  • 举报
回复
alter table D_TF_QUALITY add key (CONS_ID,SXDLBPHD); 走这个松散索引最快,呵呵
码无边 2014-01-23
  • 打赏
  • 举报
回复
建议贴出desc sql结果,以便分析。
Rotel-刘志东 2014-01-23
  • 打赏
  • 举报
回复
贴出具体的执行计划是怎样的。
xuhc2008 2014-01-23
  • 打赏
  • 举报
回复
单独加一个CONS_ID 字段的索引就可以,能走索引
ACMAIN_CHM 2014-01-17
  • 打赏
  • 举报
回复
检查一下 explain select ...
rucypli 2014-01-16
  • 打赏
  • 举报
回复
数据在内存里就快 被换到硬盘上就慢吧

56,681

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧