1.關(guān)于count(1),count(*),和count(列名)的區(qū)別

  相信大家總是在工作中,或者是學(xué)習(xí)中對(duì)于count()的到底怎么用更快。一直有很大的疑問(wèn),有的人說(shuō)count(*)更快,也有的人說(shuō)count(列名)更快,那到底是誰(shuí)更快,我將會(huì)在本文中詳細(xì)介紹一下到底是count(1),count(*)和count(列明)的區(qū)別,和更適合的使用場(chǎng)景。   

  往常在工作中有人會(huì)說(shuō)count(1)比count(*)會(huì)快,或者相反,首先這個(gè)結(jié)論肯定是錯(cuò)的,實(shí)際上count(1)和count(*)并沒(méi)有區(qū)別

  接下來(lái),我們來(lái)對(duì)比一下count(*)和count(列)到底誰(shuí)更快一些

  首先我們執(zhí)行以下sql,來(lái)看一下執(zhí)行效率(下面sql針對(duì)的是ORACLE數(shù)據(jù)庫(kù),大致邏輯為先刪除t別,然后在根據(jù)dba_objects創(chuàng)建t表,在更新t表根據(jù)rownum)

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

 1 drop table t purge; 2 create table t as select * from dba_objects; 3 --alter table T modify object_id  null; 4 update t set object_id =rownum ; 5 set timing on  6 set linesize 1000 7 set autotrace on --開(kāi)啟跟蹤 8  9 select count(*) from t;10 /11 select count(object_id) from t;12 /

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

 

  然后咱們分別看一下“select count(

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式