中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

知(zhi)方可補不(bu)足~SQL中的count命(ming)令的一些(xie)優化(hua)措施(百萬以(yi)上數(shu)據明顯(xian))

回到目錄

SQL中對于求表記(ji)錄總數的有count這個聚合命(ming)令(ling),這個命(ming)令(ling)給我們感(gan)覺就(jiu)是快(kuai)(kuai),比一(yi)般的查詢要快(kuai)(kuai),但是,當你(ni)的數據表記(ji)錄比較(jiao)多(duo)時(shi),如百萬條,千(qian)萬條時(shi),對于count來說(shuo),就(jiu)不是那么快(kuai)(kuai)了,我們需要掌(zhang)握(wo)一(yi)些技巧(qiao),來優化這個count。

有人說:

select count(1) from table

select count(primarykey) from table

比較快,一定不要用

select count(*) from table

可我(wo)要說的(de)(de)是(shi),count(*)更快一些,為什么呢(ni),count(*)是(shi)什么意思(si)?事實上,它真正的(de)(de)含(han)義是(shi)找(zhao)一個占(zhan)用空間最小的(de)(de)索(suo)引字段,然后對它進行記數(shu),不要一看到*就(jiu)認為“大”,在count命令中,它指的(de)(de)是(shi)“任意一個“。

對于一(yi)個(ge)大表來(lai)說,如(ru)果(guo)你(ni)的字(zi)段有bit類(lei)型,如(ru)性(xing)別字(zi)段,表示真假關系的字(zi)段,我(wo)們需(xu)要為它(ta)加上索引,加上之后(hou),我(wo)們的count速度就提(ti)交幾十倍(bei),真的,呵呵 

首(shou)先為我們的bit類型字(zi)段加(jia)索引IsSync添加(jia)聚集索引

如(ru)果(guo)數據表太大,我們需要在命令行(xing)中去運行(xing)

之后(hou),再去運(yun)行(xing)count命(ming)令,呵呵

SET STATISTICS IO ON  --查看IO開銷
SET STATISTICS PROFILE ON --查看(kan)分析、編譯(yi)和執行查詢所(suo)需(xu)的時間
SET STATISTICS TIME ON  --查看語句(ju)運行的時(shi)間
SELECT COUNT(*) FROM dbo.C_User_Info 

結果比(bi)沒有建立索引(yin)時快了10多倍!

 

回到目錄

posted @ 2013-09-12 18:07  張占嶺  閱讀(8404)  評論(8)    收藏  舉報