2021-02-14 分類: 網站建設
一打開科技類論壇,最??吹降奈恼轮黝}就是MySQL性能優化了,為什么要優化呢?
因為:
就是咱們說的“性能問題”,程序員一遇到它總是焦頭爛額!
今天小編對MySQL優化總結了一些心得,希望在大家之后的工作中能有所有幫助!
示例二:
not in 和 not exist
如果查詢語句使用了not in 那么內外表都進行全表掃描,沒有用到索引;而not exist 的子查詢依然能用到表上的索引。所以無論哪個表大,用not exists都比not in要快!
子查詢優化
straight_join
mysql hint:
Mysql 優化器在處理多表的關聯的時候,很有可能會選擇錯誤的驅動表進行關聯,導致了關聯次數的增加,從而使得sql語句執行變得非常的緩慢。
這個時候需要有經驗的DBA進行判斷,選擇正確的驅動表,這個時候 straightjoin 就起了作用了,下面我們來看一看使用straight_join進行優化的案例:
嘗試采用user表做驅動表,使用straight_join強制連接順序:
高效分頁
傳統分頁:
- select?*?from?table?limit?10000,10?
limit原理:
推薦分頁:
復雜關聯SQL的優化
force index
有時優化器可能由于統計信息不準確等原因,沒有選擇最優的執行計劃,可以人為改變mysql的執行計劃,例如:
count的優化
按照效率排序的話,count(字段)
總結
MySQL 性能優化 最主要是理解 innodb 的索引原理及結構及 SQL 的執行計劃,在不斷累積經驗的基礎上熟能生巧。
當前文章:DBA大牛MySQL優化心得
分享地址:http://vcdvsql.cn/news21/100821.html
成都網站建設公司_創新互聯,為您提供網站維護、建站公司、域名注冊、網站排名、網頁設計公司、品牌網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯
猜你還喜歡下面的內容