blogs.com/sueris/p/6650301.html
這裏把上面實驗的結果總結壹下:
count( )和count(1)執行的效率是完全壹樣的。
count( )的執行效率比count(col)高,因此可以用count( )的時候就不要去用count(col)。
count(col)的執行效率比count(distinct col)高,不過這個結論的意義不大,這兩種方法也是看需要去用。
如果是對特定的列做count的話建立這個列的非聚集索引能對count有很大的幫助。
如果經常count( )的話則可以找壹個最小的col建立非聚集索引以避免全表掃描而影響整體性能。
在不加WHERE限制條件的情況下,COUNT( )與COUNT(COL)基本可以認為是等價的;
但是在有WHERE限制條件的情況下,COUNT( )會比COUNT(COL)快非常多;
count(0)=count(1)=count(*)
當然,在建立優化count的索引之前壹定要考慮新建立的索引會不會對別的查詢有影響,影響有多大,要充分考慮之後再決定是否要這個索引,這是很重要的壹點,不要撿了芝麻丟了西瓜。