Effective MySQL之SQL語句最佳化——讀書筆記之一

來源:互聯網
上載者:User

標籤:最好   注意   0ms   角度   表資料   cti   查看   生產環境   upd   

第一章,DBA5分鐘速成

本章知識點如下:

  • 尋找運行慢SQL的語句:
    • show full processlist查看所有正在執行的進程及執行的語句耗時;
    • 命令後面\G可以讓命令按行顯示(預設是按列)。
    • 手動用ad hoc方式執行該sql,大於10ms的查詢通常會有問題(有可能是索引問題,也可能是結果集太大使得結果無意義)。
    • 對於低效的Delete和Update語句,可以通過將其改為Select大概判斷其效率。
    • 產生執行計畫QEP(query excution plan),注意QEP結果不一定是真正的執行結果,如row返回的行數可能是預估數字。
  • 最佳化查詢:
    • 可以添加索引,單不是唯一或最好的方法。添加索引不可以直接再生產環境上進行,因為一個DDL可能執行數日,ALTER語句是阻塞性的;同時索引會帶來額外開銷。
    • 最佳化過後需要做驗證,QEP及執行ad hoc進行驗證。
    • 正確方案:驗證表結構(show create table TABLENAME),查看錶資料量(show table status like ‘TABLENAME’),從業務角度確認添加索引帶來的影響和開銷。
    • 備選方案:使用現有索引,在where字句中顯示加入索引列條件,使用現用索引。

Effective MySQL之SQL語句最佳化——讀書筆記之一

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.