成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

DBA大牛MySQL優化心得,語句執行加速就是這么簡單!

數據庫 MySQL
一打開科技類論壇,最常看到的文章主題就是MySQL性能優化了,為什么要優化呢?今天小編對MySQL優化總結了一些心得,希望在大家之后的工作中能有所有幫助!

一打開科技類論壇,最常看到的文章主題就是MySQL性能優化了,為什么要優化呢?

因為:

  • 數據庫出現瓶頸,系統的吞吐量出現訪問速度慢
  • 隨著應用程序的運行,數據庫的中的數據會越來越多,處理時間變長
  • 數據讀寫速度緩慢

就是咱們說的“性能問題”,程序員一遇到它總是焦頭爛額!

今天小編對MySQL優化總結了一些心得,希望在大家之后的工作中能有所有幫助!

[[266750]]

like 前導符優化

like模糊查詢形如'%AAA%'和'%AAA'將不會使用索引,但是業務上不可避免可能又需要使用到這種形式。

[[266751]]

通常的方法有兩種:

  • 優化方案一:使用覆蓋索引,即查詢出的列只是用索引就可以獲取,而無須查詢表記錄,這樣也走了索引;
  • 優化方案二:使用locate函數或者position函數代替like查詢:如table.field like '%AAA%'可以改為locate('AAA', table.field) > 0或POSITION('AAA' IN table.field)>0

in 和 exist

如果查詢的兩個表大小相當,那么用in和exists差別不大。 如果兩個表中一個較小,一個是大表,則子查詢表大的用exists,子查詢表小的用in: 例如:表A(小表),表B(大表)

示例一:

DBA大牛MySQL優化心得,語句執行加速就是這么簡單!

示例二:

DBA大牛MySQL優化心得,語句執行加速就是這么簡單!

not in 和 not exist

如果查詢語句使用了not in 那么內外表都進行全表掃描,沒有用到索引;而not exist 的子查詢依然能用到表上的索引。所以無論哪個表大,用not exists都比not in要快!

DBA大牛MySQL優化心得,語句執行加速就是這么簡單!

子查詢優化

  • MySQL 5.6 之前的版本對子查詢處理:不會將查詢的結果集計算出來用作與其他表做join,outer表每掃描一條數據,子查詢都會被重新執行一遍。
  • MySQL 5.6 對子查詢的處理 :將子查詢的結果集 cache 到臨時表里,臨時表索引主要用來移除重復記錄,并且隨后也可能用于做join查詢,這種技術在 5.6 中叫做物化的子查詢,物化子查詢可以看到select_type字段為subquery,而在 5.5 里為DEPENDENT SUBQUERY。
  • 子查詢一般都可以改成表的關聯查詢,子查詢會有臨時表的創建、銷毀,效率低下。

DBA大牛MySQL優化心得,語句執行加速就是這么簡單!

straight_join

mysql hint:

Mysql 優化器在處理多表的關聯的時候,很有可能會選擇錯誤的驅動表進行關聯,導致了關聯次數的增加,從而使得sql語句執行變得非常的緩慢。

這個時候需要有經驗的DBA進行判斷,選擇正確的驅動表,這個時候 straightjoin 就起了作用了,下面我們來看一看使用straight_join進行優化的案例:

嘗試采用user表做驅動表,使用straight_join強制連接順序:

DBA大牛MySQL優化心得,語句執行加速就是這么簡單!

高效分頁

傳統分頁:

  1. select * from table limit 10000,10 

limit原理:

  • Limit 10000,10
  • 偏移量越大則越慢

推薦分頁:

DBA大牛MySQL優化心得,語句執行加速就是這么簡單!

復雜關聯SQL的優化

  • 首先查詢返回的結果集,通常查詢返回的結果集很少,是有優化的空間的。
  • 通過查看執行計劃,查看優化器選擇的驅動表,從執行計劃的rows可以大致反應出問題的所在。
  • 搞清各表的關聯關系,查看關聯字段是否有合適的索引。
  • 使用straight_join關鍵詞來強制調整驅動表的選擇,對優化的想法進行驗證。
  • 如果條件允許,對復雜的SQL進行拆分。盡可能越簡單越好。

force index

有時優化器可能由于統計信息不準確等原因,沒有選擇***的執行計劃,可以人為改變mysql的執行計劃,例如:

DBA大牛MySQL優化心得,語句執行加速就是這么簡單!

count的優化

按照效率排序的話,count(字段)

總結

MySQL 性能優化 最主要是理解 innodb 的索引原理及結構及 SQL 的執行計劃,在不斷累積經驗的基礎上熟能生巧。

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2017-11-28 15:29:04

iPhone X網頁適配

2021-05-24 10:50:10

Git命令Linux

2020-06-16 10:57:20

搭建

2024-08-28 08:42:21

API接口限流

2016-07-22 15:12:12

Win10技巧重裝

2021-02-26 10:21:35

比特幣投資金融

2020-04-20 10:47:57

Redis數據開發

2023-08-26 21:42:08

零拷貝I/O操作

2021-12-27 07:31:37

JavaNeo4J數據庫

2023-07-27 08:26:36

零拷貝I/O操作

2019-05-13 08:24:58

數據庫MySQLInnoDB

2021-10-28 19:23:27

界面嵌入式 UI

2024-02-27 08:14:51

Nginx跨域服務

2013-06-09 10:34:24

華為網絡規劃企業ICT

2024-09-09 11:35:35

2020-07-27 07:00:00

超文本鏈接Word文檔網絡

2020-06-17 11:42:50

異常解析器Spring MVC

2017-11-06 16:30:33

開源

2023-02-07 11:44:02

2015-06-30 12:53:40

秒殺應用MySQL數據庫優化
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本精品在线一区 | 在线日韩av电影 | 日韩精品区 | 中文字幕一区二区不卡 | 91久久精品视频 | 人妖videosex高潮另类 | 日韩综合在线 | 天天操夜夜爽 | 亚洲国产精品自拍 | 久久中文字幕一区 | 国产亚洲欧美在线 | 国产成人综合久久 | 国产粉嫩尤物极品99综合精品 | 国产片网站 | 99久久精品国产一区二区三区 | 国产精品视频一二三区 | 亚洲精品九九 | 日韩亚洲视频在线 | 九九在线精品视频 | 一级视频在线免费观看 | 天天操网| 中国一级大毛片 | 午夜精品福利视频 | www成人免费 | 亚洲欧美中文字幕在线观看 | 日本一区二区视频 | 国产小网站 | 欧洲亚洲精品久久久久 | 国产精品久久久久久久久图文区 | 免费国产一区 | 51ⅴ精品国产91久久久久久 | 欧美亚洲国产一区 | 日本又色又爽又黄的大片 | 欧美video| 久久精品一级 | 国产伦精品一区二区三区四区视频 | 国产一级黄色网 | 午夜免费福利影院 | 一级片av | 天天干天天操天天看 | 亚洲精品一区二三区不卡 |