MyISAM char(7)字段具有长密钥长度的索引

时间:2013-10-14 09:00:19

标签: sql indexing myisam

我有一个日期维度表,其中有一个名为year_month_number的char(7)字段,其上有索引,如下所示:

ALTER TABLE `dim_date` add INDEX `year_month_number` (`year_month_number` ASC);

它的数据类似于“2013-06”或“2013-07”。

我有性能问题,解释也是如此,

  

'1','SIMPLE','effective_date','ref','PRIMARY,year_month_number','year_month_number','22','const','29','using where'

好像是key_len = 22,任何人都可以解释为什么它不是7(如this post中所述)?我试过删除并重新创建索引,

1 个答案:

答案 0 :(得分:1)

不确定为什么它显示22,可能是一些编码问题 - 是char(7)二进制文件吗?

无论如何 - 将字段更改为常规int,您将YYYYMM存储为数字,这将只有4个字节