午夜精品人妻久久久-成年美女很黄的网站-在线看片免费人成视久网app-国产精品美女无遮挡一区二区-91精品国产综合久久久久-国产的免费视频又猛又爽又刺激-在线看片免费人成视久网app-久久香蕉国产精品视频-av一区二区三区高清

* oracle COUNT與COUNT(列) 誰快誰慢?

COUNT(*)與COUNT(列) 要看是否使用到索引以及索引列不為空,
不考慮索引的時候count(*) 反而更加快 , 因為優(yōu)化器列偏移算法的原因 , 越靠后的列越慢,
所以設(shè)計應(yīng)用的時候,經(jīng)常訪問的列應(yīng)該放在前面
表無索引時,count()的性能
drop table t purge;
table t as* from ;
alter table Tnull;
t set= ;
seton
set1000
seton
表無索引時收獲不止sql優(yōu)化pdf , count(*)的性能更好

* oracle COUNT與COUNT(列) 誰快誰慢?

文章插圖
* oracle COUNT與COUNT(列) 誰快誰慢?

文章插圖
count(*) from t;
表無索引時,count(列)的性能,這個列如果越靠后,性能越不好
count() from t;
表有列索引時,count(列)的性能很好
count() from t;
——————————————————————————————–
表有索引且索引列非空時 , count(*)的結(jié)果與count()查詢結(jié)果一致收獲不止sql優(yōu)化pdf , 優(yōu)化器自動把count(*)優(yōu)化成count(),所以這時候count(*)實質(zhì)就是count(),如果允許為空,這時候count(*)的結(jié)果與count()查詢結(jié)果可能不一致,優(yōu)化器改寫的前提是保證結(jié)果不出錯 , 會出錯的話 , 優(yōu)化器絕對不會改寫 。(為空時不進(jìn)行計數(shù)) , 這時候count(*)不會優(yōu)化成count(),查詢沒有count()快 。
alter table Tnot null;
count(*) from t;–與下面的count()效果一致
表有索引且索引列非空時,count(列)的性能
count() from t;
具體可以看看 《不止sql優(yōu)化》最后一章節(jié)
【* oracle COUNT與COUNT(列) 誰快誰慢?】本文到此結(jié)束,希望對大家有所幫助 。