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

正排倒排,并不是 MySQL 的排序的全部!

數據庫 MySQL
“正排倒排,當然不是全部,你最少要知道,2個參數,1個優化,一種特殊情況”。

 [[407094]]

引言

春節前一個悠閑的上午,小航送了我,一袋堅果,他看我吃的正香,慢慢問道:”溫哥,mysql的排序,有什么要注意的嗎,不就是正排倒排嗎?”

我一聽他問我的問題,頓感堅果不香了,但是為了技術(mainzi),我裝作大師的說道:

“正排倒排,當然不是全部,你最少要知道,2個參數,1個優化,一種特殊情況”

注:東西不能亂吃啊

兩個核心參數

sort_buffer_size 決定內排,外排。內排就是走內存,外排就是采用歸并排序走磁盤。

max_length_for_sort_data 決定 全字段排序還是,rowid排序。

全字段排序

字段都放到 sort_buffer 中,排序后就會直接從內存里面返回查詢結果了

Rowid排序

內存放rowid與排序字段,排序后,再從庫中找數據,拼接返回。

優化手段覆蓋索引

覆蓋索引是指,索引上的信息足夠滿足查詢請求,不需要再回到主鍵索引上去取數據。另外,MySQL 系列面試題和答案全部整理好了,微信搜索Java技術棧,在后臺發送:面試,可以在線閱讀。

例子 

  1. explain  
  2. SELECT order_id,pay_date FROM orders_detail WHERE order_id='1001' ORDER BY pay_date asc 

用到了filesort,也就是需要排序。《MySQL 開發的 36 條軍規》推薦看下。

調整索引 

  1. ALTER TABLE `orders_detail` DROP INDEX `order_id`,ADD INDEX `order_id` (`order_id`, `pay_date`); 

之后 

  1. explain  
  2. SELECT order_id,pay_date FROM orders_detail WHERE order_id='1001' ORDER BY pay_date asc 

沒有用到filesort,因為復合索引,字段后是有序的。

特殊情況 Order by+ Limit

Limit可能用到優先隊列排序算法。

例子:

    1.  開啟優化追蹤 

  1. SET OPTIMIZER_TRACE="enabled=on",END_MARKERS_IN_JSON=off 
  2. SET optimizer_trace_offset=-30, optimizer_trace_limit=30

    2.  查看字段索引 

  1. SHOW INDEX FROM oc_order_online WHERE COLUMN_NAME='order_name'

結果顯示沒有索引

    3.  執行order by+limit 查詢語句 

  1. select * from `oc_order_online`  order by  `order_name`  limit 20 

    4.  查詢優化追蹤信息 

  1. SELECT * FROM INFORMATION_SCHEMA.OPTIMIZER_TRACE limit 30 

對應結果如下:

查詢將紅框中數據,粘貼到json.cn查看格式化數據,有如下片段

filesort_priority_queue_optimization 中的chosen:true表示使用了優先隊列排序。另外,關注公眾號Java技術棧,在后臺回復:面試,可以獲取我整理的 Java 系列面試題和答案,非常齊全。

總結

  1.  sort_buffer_size 決定內排,外排
  2.  max_length_for_sort_data 決定 全字段排序還是,rowid排序
  3.  覆蓋索引是一種優化手段
  4.  Limit可能涉及優先隊列排序 

 

責任編輯:龐桂玉 來源: Java技術棧
相關推薦

2017-10-18 22:18:09

2022-03-13 23:19:04

元宇宙區塊鏈數字貨幣

2015-05-08 07:29:42

OpenStack云方案云服務成本

2021-07-15 06:43:12

SQLSelect命令

2011-07-26 13:47:06

AndroidLinux

2015-12-17 11:04:00

云開支云計算

2009-04-28 09:13:27

MySQLOracle收購

2011-07-28 09:45:59

云計算

2011-08-31 15:52:26

微軟

2010-07-21 09:21:10

云計算

2018-02-25 19:20:13

軟件定義SD-WAN廣域網

2022-06-14 18:35:01

ID生成器語言

2022-05-05 09:17:03

文檔開源

2023-06-25 20:07:57

云計算

2013-05-02 16:21:26

APP

2010-06-10 14:49:07

協議轉換器

2018-11-27 14:57:00

IPv6IPv4網絡

2021-06-11 09:23:30

微服務架構分層架構

2022-07-11 13:34:13

數據歸檔

2013-07-31 09:45:03

產品經理用戶體驗效果
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品91 | 国产黄色大片在线观看 | 夜夜爽99久久国产综合精品女不卡 | 91国自产 | 欧美在线观看一区 | 亚洲第一天堂 | 91中文字幕在线观看 | 天天操夜夜爽 | 一级免费毛片 | 久久精品成人 | 一区二区三区电影网 | 日本久久一区二区三区 | 国产三级网站 | 免费黄色片视频 | 完全免费在线视频 | 精品在线观看一区 | 午夜男人视频 | 成人激情免费视频 | 欧美在线一区二区三区 | 国产欧美在线视频 | 国产自产c区| 日韩三级电影一区二区 | 国产97在线视频 | 国产免费看 | 精品一区二区久久久久久久网站 | 亚洲国产精久久久久久久 | 欧美日韩亚洲在线 | 亚洲精品乱码久久久久久蜜桃91 | 精品国产一级 | 国产色婷婷精品综合在线手机播放 | 国产精品一区二区欧美 | 九九九视频 | 欧美激情 亚洲 | 亚洲一区二区精品视频 | av免费网站在线观看 | 精品欧美一区二区三区精品久久 | 天天干人人 | 日韩欧美专区 | 国产精品区二区三区日本 | xx视频在线 | 日韩精品免费一区二区在线观看 |