這篇文章主要介紹“MySQL select的審核有哪些”,在日常操作中,相信很多人在mysql select的審核有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”mysql select的審核有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
榮成網(wǎng)站建設公司創(chuàng)新互聯(lián)建站,榮成網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為榮成成百上千提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設要多少錢,請找那個售后服務好的榮成做網(wǎng)站的公司定做!
· 禁止使用select *,只獲取必要字段
解讀:
(1)select *會增加cpu/io/內(nèi)存/帶寬的消耗
(2)指定字段能有效利用索引覆蓋
(3)指定字段查詢,在表結(jié)構(gòu)變更時,能保證對應用程序無影響
· insert必須指定字段,禁止使用insert into T values()
解讀:指定字段插入,在表結(jié)構(gòu)變更時,能保證對應用程序無影響
· 隱式類型轉(zhuǎn)換會使索引失效,導致全表掃描
· 禁止在where條件列使用函數(shù)或者表達式
解讀:導致不能命中索引,全表掃描
· 禁止負向查詢以及%開頭的模糊查詢
解讀:導致不能命中索引,全表掃描
以5萬數(shù)據(jù)為臨界點。。。超過5萬 就不使用like 必須修改
· 禁止大表JOIN和盡可能避免子查詢
· 同一個字段上的OR必須改寫問IN,IN的值必須少于50個
· 應用程序必須捕獲SQL異常
解讀:方便定位線上問題,
查看執(zhí)行計劃可知子查詢在相同條件下是會比表關聯(lián)多一個步驟的
同時會產(chǎn)生一個臨時表。。
關聯(lián)查詢的效率 比 子查詢效率更好
· 5.6之后的mysql關聯(lián)表查詢可以使用in 但是禁止使用exist
In的執(zhí)行方式已經(jīng)在5.6及之后的版本優(yōu)化過了
Exist 還是老的執(zhí)行方式。禁止使用
到此,關于“mysql select的審核有哪些”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
分享名稱:mysqlselect的審核有哪些
標題路徑:http://weahome.cn/article/jhedij.html