mysql select稽核
· 禁止使用 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 還是老的執行方式。禁止使用
說明 :本軍規適用於 併發量大,資料量大 的典型 網際網路業務 ,可直接帶走參考,不謝。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30127122/viewspace-2660975/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql之select into outfileMySql
- MySql 中 select 使用MySql
- MySQL:SELECT COUNT 小結MySql
- MYSQL SELECT INTO臨時表MySql
- SELECT INTO FROM mysql Undeclared variableMySql
- 【mysql】mysql select中包括計算公式MySql公式
- SQL稽核 | SQLE 相容 MySQL 8.0 測評MySql
- mysql只能select,不能insert?MySql
- MySQL進階SELECT篇(轉)MySql
- MySQL SELECT list is not in...MySQL關閉嚴格模式MySql模式
- MYSQL8.0特性—無select注入MySql
- canal mysql select許可權粒度MySql
- 學習MySQL的select語句MySql
- MysqL_select for update鎖詳解MySql
- mysql稽核平臺yearning及inception安裝MySql
- 解析MySQL中INSERT INTO SELECT的使用MySql
- mysql insert into ... select的鎖問題MySql
- mysql update join,insert select 語法MySql
- mysql innodb之select for update nowaitMySqlAI
- MySQL 由於MDL讀鎖select被阻塞MySql
- 驚!史上最全的select加鎖分析(Mysql)MySql
- 【Mysql】兩條select for update引起的死鎖MySql
- mysql匯出select結果到檔案MySql
- 【MySQL】select for update 的Row Lock 與Table LockMySql
- MySQL 報錯MySQL server syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT'MySqlServerMIT
- MySQL 事務常見面試題總結 | JavaGuide 稽核中MySql面試題JavaGUIIDE
- MySQL中SELECT+UPDATE併發更新問題MySql
- Mysql第六講 select查詢基礎篇MySql
- MySQL(select_paren)union_order_or_limit行為MySqlMIT
- 記一次 MySQL select for update 死鎖問題MySql
- Mysql基礎+select5種子句 + 子查詢MySql
- MySQL中2個select被阻塞場景的原因MySql
- MySQL 5.7 SELECT ... LOCK IN SHARE MODE|FOR UPDATE語句說明MySql
- mysql_select按照指定的格式輸出到檔案MySql
- mysql 各種級聯查詢後更新(update select).MySql
- Oracle FGA稽核Oracle
- Oracle SYSDBA稽核Oracle
- IOS—加急稽核iOS