MySQL資料庫sql語句的一些簡單最佳化

來源:互聯網
上載者:User

標籤:

1、查詢條件的先後順序

有多個查詢條件時,要把效率高能更精確篩選記錄的條件放在後邊。因為MySQL解析sql語句是從後往前的(不知是否準確)。

例:

select a.*,b.* from UsrInf a,OrgInf b where LogNam=‘njnydx9‘ and b.OrgId=a.blnorg

SQL語句從後往前解析,把LogNam=‘njnydx9‘換到後邊,避免了更多結果集的串連,提高了執行效率

2、in的效率問題

看網上都說in相當於多個條件的or。實際測試後發現in的執行速度更快。

例:

以下查詢結果集數量為 91606
select * from usrbks where boksts=‘E‘ or boksts=‘D‘ or boksts=‘O‘  用時0.004s
select * from usrbks where boksts in(‘E‘,‘D‘,‘O‘)  用時0.001s

 

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.