您好,登錄后才能下訂單哦!
今天是四月份最后一天的上班時(shí)間,明天就開始假期了!~三天!希望自己能利用這幾天好好補(bǔ)一補(bǔ)專業(yè)知識,今天晚上開始學(xué)習(xí)SQL優(yōu)化課程!
常規(guī)優(yōu)化
1:盡量避免使用* 列出所有列,因?yàn)橄到y(tǒng)對*解析成列明會消耗一定時(shí)間,從而使得SQL變慢
2:TRUNCATE代替DELETE;當(dāng)數(shù)據(jù)確定不要的時(shí)候,用TRUNCATE代替DELETE會更快,他不會講數(shù)據(jù)放到撤銷表空間,當(dāng)然,用TRUNCATE就無法使用rollback恢復(fù)。
TRUNCATE TABLE TABLE_NAME DROP STORAGE;
3:在確保完整性的情況下,多用COMMIT,及時(shí)釋放資源,可以釋放:回滾段數(shù)據(jù)、被程序語句獲得的鎖、redo log buffer中的空間、ORACLE為管理上述資源的內(nèi)部花費(fèi)
4:盡量減少對表的查詢次數(shù)
5:用EXISTS代替IN
在子查詢中,in 字句會執(zhí)行一個(gè)內(nèi)部排序和合并,導(dǎo)致效率低下
表連接優(yōu)化
1:驅(qū)動表的選擇
驅(qū)動表:最先被訪問的表(全掃描方式訪問),通常緊隨from后的會全掃描
2:where字句連接的順序
表之間的連接寫在前面,過濾的最大的卸載末尾
合理使用索引
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。