真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

SQL性能優(yōu)化的示例

小編給大家分享一下SQL性能優(yōu)化的示例,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供貴池網(wǎng)站建設(shè)、貴池做網(wǎng)站、貴池網(wǎng)站設(shè)計(jì)、貴池網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、貴池企業(yè)網(wǎng)站模板建站服務(wù),十多年貴池做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

SQL性能優(yōu)化

1、SELECT 語(yǔ)句務(wù)必指明字段名稱

SELECT * 會(huì)增加很多不必要的消耗,(cpu、io、內(nèi)存、網(wǎng)絡(luò)帶寬);增加了使用覆蓋索引的可能性;

當(dāng)表結(jié)構(gòu)發(fā)生改變時(shí),前斷也需要更新。所以要求直接在select后面接上字段名。

2、SQL語(yǔ)句中IN包含的值不應(yīng)太多

MySQL對(duì)于IN做了相應(yīng)的優(yōu)化,即將IN中的常量全部存儲(chǔ)在一個(gè)數(shù)組里面,而且這個(gè)數(shù)組是排好序的。

但是如果數(shù)值較多,產(chǎn)生的消耗也是比較大的。對(duì)于連續(xù)的數(shù)值,能用 between 就不要用 in 了;再或者使用連接來(lái)替換。

3、區(qū)分in和exists,not in 和not exists

select * from 表A 
where id in (select id from 表B)

等價(jià)于

select * from 表A 
where exists(select * from 表B where 表B.id=表A.id)

區(qū)分in和exists主要是造成了驅(qū)動(dòng)順序的改變(這是性能變化的關(guān)鍵),如果是exists,那么以外層表為驅(qū)動(dòng)表,先被訪問(wèn),如果是IN,那么先執(zhí)行子查詢。

所以IN適合于外表大而內(nèi)表小的情況;EXISTS適合于外表小而內(nèi)表大的情況。

4、不建議使用%前綴模糊查詢

例如LIKE “%name”或者LIKE “%name%”,這種查詢會(huì)導(dǎo)致索引失效而進(jìn)行全表掃描。但是可以使用LIKE “name%”。

避免隱式類型轉(zhuǎn)換:

where子句中出現(xiàn) column 字段的類型和傳入的參數(shù)類型不一致的時(shí)候發(fā)生的類型轉(zhuǎn)換,建議先確定where中的參數(shù)類型

5、對(duì)于聯(lián)合索引來(lái)說(shuō),要遵循最左前綴法則

舉列來(lái)說(shuō)索引含有字段id,name,school,可以直接用id字段,也可以id,name這樣的順序,但是name;school都無(wú)法使用這個(gè)索引。

所以在創(chuàng)建聯(lián)合索引的時(shí)候一定要注意索引字段順序,常用的查詢字段放在最前面

總結(jié)以上建議:

1、避免對(duì)索引字段進(jìn)行計(jì)算操作

2、避免在索引字段上使用 not <> !=

3、避免在索引字段上使用 is null , is not null

3、避免在索引字段上出現(xiàn)數(shù)據(jù)類型轉(zhuǎn)換

4、避免在索引字段上使用函數(shù)

5、避免建立索引的列中使用空值

6、對(duì)與WHERE的語(yǔ)句法則

7、盡量避免在WHERE子句中使用in, not in 或者 having ,可以使用exist ,not exist 代替 in ,not in

8、不要以字符格式聲明數(shù)字, 不要以數(shù)字格式聲明字符值,否則會(huì)使索引無(wú)效

以上是“SQL性能優(yōu)化的示例”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)頁(yè)標(biāo)題:SQL性能優(yōu)化的示例
分享地址:http://weahome.cn/article/phoijh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部