99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
2019-02-14 閱讀量: 777
SQL語(yǔ)句優(yōu)化

問(wèn)題描述:

要判斷某一條數(shù)據(jù)的某一個(gè)字段的值,是在sql中限制條件然后判斷數(shù)量、還是直接檢索這個(gè)字段,哪個(gè)效率最高?

比如:A表中,要判斷id=1的數(shù)據(jù)flag是1還是0(flag的值只能是1或0)。

以下兩個(gè)sql哪個(gè)效率高?

1.在sql中限制條件然后判斷數(shù)量

select count(*) from A where id = 1 and flag = 1;

2.直接檢索這個(gè)字段

select flag from A where id = 1;

這個(gè)表的數(shù)據(jù)量和字段數(shù)量、數(shù)據(jù)庫(kù)類型對(duì)結(jié)果有影響嗎?

解決方法:

id是主鍵的話,這兩個(gè)寫(xiě)法的效率基本是一樣的,具體要看sql語(yǔ)句的執(zhí)行計(jì)劃。

從sql語(yǔ)句和業(yè)務(wù)邏輯的對(duì)應(yīng)關(guān)系上,寫(xiě)法2更好一點(diǎn)。

盡量減少SELECT COUNT(*) FROM tablename WHERE COL = 'value’ 這種查詢;
非要用count的話,盡量count(index),對(duì)索引進(jìn)行count。

如果表中有類似標(biāo)志位(比如是否邏輯刪除)的字段,那么在其上建立一個(gè)索引,會(huì)把count(*)的速度提高數(shù)倍。

0.0000
4
關(guān)注作者
收藏
評(píng)論(0)

發(fā)表評(píng)論

暫無(wú)數(shù)據(jù)
推薦帖子