Mysql 我应该使用什么索引?
对于一个非常简单的语句(3-4秒),我的性能非常慢: 我在fname上有索引,在bday上有索引,甚至在fname和bday上有联合索引。以下是我的解释:Mysql 我应该使用什么索引?,mysql,Mysql,对于一个非常简单的语句(3-4秒),我的性能非常慢: 我在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 fileso
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
这里没有索引可以帮助您
当您使用像“%something%”这样的
时,它必须查看每一行并进行字符串匹配 这里没有索引可以帮助您
当您使用像“%something%”这样的时,它必须查看每一行并进行字符串匹配 如前所述,没有索引会有帮助。就个人而言,我会考虑全文搜索过量,并在表中添加另一列,将其插入到INSERT UPDATE和INS/INP>索引中。
Like是一次性的。如前所述,没有索引会有帮助。就个人而言,我会考虑全文搜索过量,并在表中添加另一列,将其插入到INSERT UPDATE和INS/INP>索引中。
Like是一次性的。这里没有索引会有帮助。我会寻找一个全文搜索解决方案。MySQL内置了一些东西:@Wiseguy:你为什么要删除你的答案?这是一个有效的方法(可能是查询可以得到的最简单的帮助)。orderby
是次要的,但是,是的,仍然是一个问题。在一个足够小的集合上,这并不可怕,但实际上它应该首先存储为一个日期类型。这里没有索引会有帮助。我会寻找一个全文搜索解决方案。MySQL内置了一些东西:@Wiseguy:你为什么要删除你的答案?这是一个有效的方法(可能是查询可以得到的最简单的帮助)。orderby
是次要的,但是,是的,仍然是一个问题。在一个足够小的集合上,这并不可怕,但实际上,它应该首先存储为日期类型。有没有其他方法可以使用?全文?你可以,是的。。。但考虑到它的工作方式,它可能不会做你想做的事情。在这里,您真正想要完成的是您需要问自己的问题—您很可能可以在表中添加一个额外的(可索引)列来表示您试图搜索的内容。是否有其他方法可以使用?全文?你可以,是的。。。但考虑到它的工作方式,它可能不会做你想做的事情。在这里,您真正想要完成的是您需要问自己的问题——您很可能可以在表中添加一个额外的(可索引)列来表示您想要搜索的内容。
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