Sql語(yǔ)句注意點(diǎn)

(一)select

不要對(duì)字段進(jìn)行null判斷;
用函數(shù)charindex()和前面加通配符%的LIKE執(zhí)行效率一樣;
移除不必要的字段和表
union效率比or要高,除了or兩邊的查詢列是一樣的情況;
在所需要的最小數(shù)據(jù)集上操作,where條件設(shè)置好,不要區(qū)多余數(shù)據(jù)
字段提取要按照“需多少、提多少”的原則,避免“select
where或者order by/group by字段建立索引;
不要在where語(yǔ)句中使用非操作,如:NOT、!=、<>、!<、!>、NOT EXISTS、NOT IN、NOT LIKE等;
like只能使用‘a(chǎn)dmin2%’形式,不能使用‘%dmin22’;
or會(huì)引起全表掃描;
in的作用相當(dāng)于or;exists 和 in 的執(zhí)行效率是一樣的;
count(
)不比count(字段)慢
order by按聚集索引列排序效率最高
高效的TOP,sqlserver中的top是進(jìn)過(guò)優(yōu)化的,分頁(yè)使用top
移除你JOIN和WHERE子句中的計(jì)算操作、函數(shù)
在使用索引字段作為條件時(shí),如果該索引是復(fù)合索引,那么必須使用到該索引中的第一個(gè)字段
如果在 where 子句中使用參數(shù),也會(huì)導(dǎo)致全表掃描;select id from t where num=@num

(二)left join

左表的主鍵、外鍵都要做索引
網(wǎng)上資料說(shuō)left join后面where 條件只要有一個(gè)有返回值,則轉(zhuǎn)換成select * from t1,t2 where con1 and con2的形式,實(shí)測(cè)效率沒(méi)有任何提升

(三)union

union和or執(zhí)行結(jié)果一樣,但是,當(dāng)搜索條件中搜索字段不同時(shí),union效率比or要高;當(dāng)搜索條件中搜索字段一樣時(shí),效率一樣差。union默認(rèn)會(huì)去除重復(fù)記錄,union all會(huì)顯示全部記錄

(四)update

where建立索引

(五)delete

where建立索引

(六)in

in的作用相當(dāng)于or;exists 和 in 的執(zhí)行效率是一樣的;

(七)sum

sum函數(shù)注意溢出,可能需要使用sum(cast(id as bigint))轉(zhuǎn)換成8字節(jié)的bigint

(八)group by

建立索引

(九)order by

建立索引

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. 問(wèn)題的提出## 在應(yīng)用系統(tǒng)開(kāi)發(fā)初期,由于開(kāi)發(fā)數(shù)據(jù)庫(kù)數(shù)據(jù)比較少,對(duì)于查詢SQL語(yǔ)句,復(fù)雜視圖的的編寫(xiě)等體會(huì)不出...
    七寸知架構(gòu)閱讀 5,482評(píng)論 1 111
  • 什么是SQL數(shù)據(jù)庫(kù): SQL是Structured Query Language(結(jié)構(gòu)化查詢語(yǔ)言)的縮寫(xiě)。SQL是...
    西貝巴巴閱讀 1,996評(píng)論 0 10
  • 好不容易有的一周末,我完全沒(méi)有心思休息,滿腦子都是工作的事情。 把《大獵論道》看完了,受到了一點(diǎn)激勵(lì),但沒(méi)能完全理...
    alaio閱讀 763評(píng)論 4 2
  • 一個(gè)初春的夜晚,大家已經(jīng)熟睡,一對(duì)年邁的夫妻走進(jìn)一家旅館,可是旅館已經(jīng)客滿。 前臺(tái)侍者不忍心深夜讓這對(duì)老人再去找旅...
    為世瑞閱讀 405評(píng)論 0 0
  • 那是一個(gè)下雨天,雨水嘀嗒嘀嗒的沿著屋檐下落著,在地上激起一圈又一圈的水花,小戀一個(gè)人走在路上,這個(gè)一條舊式的小胡同...
    一心小記閱讀 374評(píng)論 1 4

友情鏈接更多精彩內(nèi)容