Mysql Where查询性能


Mysql Where Query Performance?

这两个查询之间是否有任何性能差异?

SELECT * FROM cats WHERE cats_id = '1'
SELECT * FROM cats WHERE cats_name = 'cats_name'

这取决于字段上是否有索引。

如果cats_id字段是一个主键字段,而cats_name是一个没有索引的varchar字段,那么第一次查询肯定会更快。

如果您需要提高cats_name字段的性能,请考虑在其上创建索引

这完全取决于表列是否被索引(对选择性的解释)。

这取决于:

a)这两列的相对大小(条目数)

b)列是否被索引

如果它们都被索引并且大小相同,则查询速度将大致相同。如果一个被索引了,而另一个没有,那么被索引的那个将会(快得多)。如果两者都没有被索引,则取决于要搜索的条目在表中的位置:首先出现的条目将是最快的。