|
RT,是不是后者更快一些?
这个问题第1个回答:
count(某一无空值列名) 在主键,及有索引的列上效率比count(*)快
这个问题第2个回答:
忘记说了一点,某一无空值列名 是有索引的!
这个问题第3个回答:
如果我的表是两个字体联合索引呢?要不要写count(列1,列2)??
这个问题第4个回答:
不可一概而论,基本上如下: 1 count(*) 2 count(1) count(常量) 3 count(id) count(指定列) 1,2结果相同,若 id有空值,则3与1,2的结果会不同. 当结果不同时比较性能无意义。 当id无空值情况下,1,2,3相同。 count(id),若id有索引,则索引扫描,若无,则表扫描 count(*)或count(常量),若表有索引,走表的第一个索引位置列,若表无列含索引,则表扫描。 所以大多情况下,count(*)的效率可能会高于count(id) (关健看表,及id上有无索引,及索引列的类型)
这个问题第5个回答:
哦了
这个问题第6个回答:
所以大多情况下,count(*)的效率可能会高于count(id) (关健看表,及id上有无索引,及索引列的类型) 总之关系不太大
|