共計 759 個字符,預計需要花費 2 分鐘才能閱讀完成。
這篇文章主要介紹“mysql select 的審核有哪些”,在日常操作中,相信很多人在 mysql select 的審核有哪些問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”mysql select 的審核有哪些”的疑惑有所幫助!接下來,請跟著丸趣 TV 小編一起來學習吧!
· 禁止使用 select *,只獲取必要字段
解讀:
(1)select * 會增加 cpu/io/ 內存 / 帶寬的消耗
(2)指定字段能有效利用索引覆蓋
(3)指定字段查詢,在表結構變更時,能保證對應用程序無影響
· insert 必須指定字段,禁止使用 insert into T values()
解讀:指定字段插入,在表結構變更時,能保證對應用程序無影響
· 隱式類型轉換會使索引失效,導致全表掃描
· 禁止在 where 條件列使用函數或者表達式
解讀:導致不能命中索引,全表掃描
· 禁止負向查詢以及 % 開頭的模糊查詢
解讀:導致不能命中索引,全表掃描
以 5 萬數據為臨界點。。。超過 5 萬 就不使用 like 必須修改
· 禁止大表 JOIN 和盡可能避免子查詢
· 同一個字段上的 OR 必須改寫問 IN,IN 的值必須少于 50 個
· 應用程序必須捕獲 SQL 異常
解讀:方便定位線上問題,
查看執行計劃可知子查詢在相同條件下是會比表關聯多一個步驟的
同時會產生一個臨時表。。
關聯查詢的效率 比 子查詢效率更好
· 5.6 之后的 mysql 關聯表查詢可以使用 in 但是禁止使用 exist
In 的執行方式已經在 5.6 及之后的版本優化過了
Exist 還是老的執行方式。禁止使用
到此,關于“mysql select 的審核有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注丸趣 TV 網站,丸趣 TV 小編會繼續努力為大家帶來更多實用的文章!