oracle裡面的count(1)與count(*)函式的執行效率比較。
count(1),其實就是計算一共有多少符合條件的行。 1並不是表示第一個欄位,而是表示一個固定值。 其實就可以想成表中有這麼一個欄位,這個欄位就是固定值1,count(1),就是計算一共有多少個1. 同理,count(2),也可以,得到的值完全一樣,count('x'),count('y')都是可以的。一樣的理解方式。在你這個語句理都可以使用, 返回的值完全是一樣的。就是計數。 count(*),執行時會把星號翻譯成欄位的具體名字,效果也是一樣的,不過多了一個翻譯的動作,比固定值的方式效率稍微低一些。 count(1)相當於執行一列的計數,效率自然會高一些。