我应该使用什么指数?

时间:2011-11-13 01:59:37

标签: mysql

对于一个非常简单的陈述(3-4秒),我的表现相当缓慢:

SELECT col1,col2,col3 FROM table WHERE fname LIKE '%D%' OR fname LIKE '%S%' ORDER BY DATE(bday) DESC LIMIT 0,100

我有fname的索引,bday的另一个索引,甚至是fname&的联合索引BDAY。这是我的解释:

id  select_type  table  type  possible_keys  key  key_len  ref  rows  Extra

1   SIMPLE       table  ALL   NULL           NULL NULL     NULL 95856 Using where; Using filesort

2 个答案:

答案 0 :(得分:4)

没有索引可以帮到你。

当你使用LIKE '%something%时,它必须查看每一行并进行字符串匹配。

答案 1 :(得分:0)

如上所述,没有索引会有所帮助。就个人而言,我认为全文搜索过度杀戮,并在表中添加其他列,填写插入更新和索引。

喜欢一次性。