作者carlcarl (carl)
看板Database
标题[SQL ] mysql explain 一个 query的效能问题
时间Mon Jul 25 17:05:56 2011
我有个table 是记课堂测验的回答情况
主要的栏位为 课程编号 测验编号 题目编号 学生 和其他资料
现在目前是用 (课程编号 测验编号 题目编号 学生)当作primary key
我最近在看slow query的时候发现 有个query速度很慢 所以看了一下
他是拿 课程编号 测验编号 学生 当作条件抓资料
出来的结果如下图
https://picasaweb.google.com/lh/photo/XOI8biDfoFUET4Pq7seIGA?feat=directlink
後来我将 (课程编号 测验编号 学生) 另外建了index之後 如下图
https://picasaweb.google.com/lh/photo/AnhtOitLNngjS_cE0iiLWg?feat=directlink
速度有提昇不少 从0.1sec冲到0.0004sec
这边可以看到虽然type都是ref 但是rows变少很多 key_len加了4
1.
但是我有个疑问是 key_len不是越小越准吗?
那越准不是应该越好吗???
有点不懂这个判断的依据
2.
如果索引的大小比data的大小还大是不是很奇怪啊囧
还是我应该要把primary key给删掉呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.123.105.191
※ 编辑: carlcarl 来自: 140.123.105.191 (07/25 17:06)