日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

[深入理解MySQL系列] - sort_buffer

發(fā)布時間:2025/7/14 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [深入理解MySQL系列] - sort_buffer 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
作/譯者:葉金榮(Email: ),來源:http://imysql.cn,轉(zhuǎn)載請注明作/譯者和出處,并且不能用于商業(yè)用途,違者必究。 注:本系列文章主要探討 MySQL 內(nèi)存利用以及執(zhí)行計劃相關(guān)的一些知識點,從而為 MySQL 優(yōu)化打下更好的基礎(chǔ)。

環(huán)境說明

OS: AS4U6, 2.6.9-67.0.15.ELsmp, 16G Ram, MD3000陣列, xfs文件系統(tǒng) MySQL 5.1.26 - percona(innodb plugin, innodb stat, user stat, msl, show patch, acc-pslist 補丁) MySQL 主要配置參數(shù)default_table_type = innodb log_slow_queries long_query_time = 0.001 log_slow_verbosity=query_plan,innodb innodb_data_file_path = ibdata1:1024M:autoextend innodb_log_file_size = 400M innodb_log_files_in_group = 3 innodb_file_per_table innodb_file_format="Barracuda" 其他參數(shù)均為默認(rèn)值,因此其他幾個內(nèi)存相關(guān)參數(shù)值如下:innodb_buffer_pool_size = 8388608 join_buffer_size = 131072 key_buffer_size = 8388600 max_heap_table_size = 16777216 query_cache_size = 0 read_buffer_size = 131072 read_rnd_buffer_size = 262144 sort_buffer_size = 2097144 tmp_table_size = 16777216 以后的所有例子中,如果沒有特地注明,則測試相關(guān)的表都使用 InnoDB 引擎。

1、 排序緩沖

相關(guān)參數(shù):sort_buffer_size, read_rnd_buffer_size

1.1 利用InnoDB的主鍵進(jìn)行排序

EXPLAIN SELECT SQL_NO_CACHE * FROM T1 WHERE ID<10000 ORDER BY ID DESC; +----+-------------+-------+-------+---------------+---------+---------+------+-------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-------+-------+---------------+---------+---------+------+-------+-------------+ | 1 | SIMPLE | T1 | range | PRIMARY | PRIMARY | 8 | NULL | 14872 | Using where | +----+-------------+-------+-------+---------------+---------+---------+------+-------+-------------+ # Query_time: 0.207893 Lock_time: 0.000056 Rows_sent: 9999 Rows_examined: 9999 # QC_Hit: No Full_scan: No Full_join: No Tmp_table: No Tmp_table_on_disk: No # Filesort: No Filesort_on_disk: No Merge_passes: 0 # InnoDB_IO_r_ops: 91 InnoDB_IO_r_bytes: 1490944 InnoDB_IO_r_wait: 0.083391 # InnoDB_rec_lock_wait: 0.000000 InnoDB_queue_wait: 0.000000 # InnoDB_pages_distinct: 93 SELECT SQL_NO_CACHE * FROM T1 WHERE ID<10000 ORDER BY ID DESC; 由于是針對主鍵/索引進(jìn)行排序,因此無需使用臨時表

1.2 利用 InnoDB 使用非索引字段排序

EXPLAIN SELECT SQL_NO_CACHE * FROM T1 WHERE ID<10000 ORDER BY C1 DESC; +----+-------------+-------+-------+---------------+---------+---------+------+-------+-----------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-------+-------+---------------+---------+---------+------+-------+-----------------------------+ | 1 | SIMPLE | T1 | range | PRIMARY | PRIMARY | 8 | NULL | 14872 | Using where; Using filesort | +----+-------------+-------+-------+---------------+---------+---------+------+-------+-----------------------------+ # Query_time: 0.120879 Lock_time: 0.000023 Rows_sent: 9999 Rows_examined: 19998 # QC_Hit: No Full_scan: No Full_join: No Tmp_table: No Tmp_table_on_disk: No # Filesort: Yes Filesort_on_disk: Yes Merge_passes: 1 # InnoDB_IO_r_ops: 0 InnoDB_IO_r_bytes: 0 InnoDB_IO_r_wait: 0.000000 # InnoDB_rec_lock_wait: 0.000000 InnoDB_queue_wait: 0.000000 # InnoDB_pages_distinct: 93 SELECT SQL_NO_CACHE * FROM T1 WHERE ID<10000 ORDER BY C1 DESC; 由于 C1 不是索引字段,因此需要額外排序,并且由于 sort_buffer 和 read_rnd_buffer 不夠大,也用到了磁盤文件。
加大 sort_buffer_size,再看看set session sort_buffer_size = 1024 * 1024 * 5; 再次執(zhí)行剛才的測試,結(jié)果發(fā)生了變化。# Query_time: 0.080727 Lock_time: 0.000030 Rows_sent: 9999 Rows_examined: 19998 # QC_Hit: No Full_scan: No Full_join: No Tmp_table: No Tmp_table_on_disk: No # Filesort: Yes Filesort_on_disk: No Merge_passes: 0 # InnoDB_IO_r_ops: 0 InnoDB_IO_r_bytes: 0 InnoDB_IO_r_wait: 0.000000 # InnoDB_rec_lock_wait: 0.000000 InnoDB_queue_wait: 0.000000 # InnoDB_pages_distinct: 93 SELECT SQL_NO_CACHE * FROM T1 WHERE ID<10000 ORDER BY C1 DESC; 可以看到,Filesort_on_disk 變成了 No, Merge_passes 也變成了 0,表示無需使用磁盤文件,而直接在內(nèi)存里排序。

1.3 加大 read_rnd_buffer_size 看看對 filesort 是否有影響

EXPLAIN SELECT SQL_NO_CACHE * FROM T1 AS T1 WHERE ID<10000 ORDER BY C1 DESC; +----+-------------+-------+-------+---------------+---------+---------+------+-------+-----------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-------+-------+---------------+---------+---------+------+-------+-----------------------------+ | 1 | SIMPLE | T1 | range | PRIMARY | PRIMARY | 8 | NULL | 14872 | Using where; Using filesort | +----+-------------+-------+-------+---------------+---------+---------+------+-------+-----------------------------+ # Query_time: 0.103654 Lock_time: 0.000045 Rows_sent: 9999 Rows_examined: 19998 # QC_Hit: No Full_scan: No Full_join: No Tmp_table: No Tmp_table_on_disk: No # Filesort: Yes Filesort_on_disk: Yes Merge_passes: 1 # InnoDB_IO_r_ops: 0 InnoDB_IO_r_bytes: 0 InnoDB_IO_r_wait: 0.000000 # InnoDB_rec_lock_wait: 0.000000 InnoDB_queue_wait: 0.000000 # InnoDB_pages_distinct: 93 SELECT SQL_NO_CACHE * FROM T1 AS T1 WHERE ID<10000 ORDER BY C1 DESC; 具體過程不再每次重復(fù)貼了,結(jié)果是從 1M 到 512M,發(fā)現(xiàn)一直沒什么變化,對 filesort 沒什么幫助。 待續(xù)...... 本文出自 “MySQL中文網(wǎng)”博客 http://www.imysql.cn/

總結(jié)

以上是生活随笔為你收集整理的[深入理解MySQL系列] - sort_buffer的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 少妇一级淫免费观看 | 激情av在线| 日韩欧美一卡 | 涩涩涩在线视频 | 中文字幕一区2区3区 | www.九色 | 亚洲AV无码国产精品国产剧情 | 中文字幕在线观看视频一区 | 黑人巨大精品人妻一区二区 | 小柔好湿好紧太爽了国产网址 | 最近免费中文字幕中文高清百度 | 午夜电影一区二区三区 | 中文字幕手机在线视频 | 亚洲国产精品激情在线观看 | 亚洲男人天堂2022 | beeg日本高清xxxx18 | 欧美特级毛片 | 97在线观视频免费观看 | 午夜你懂的 | 免费网站www在线观看 | 国产精品久线在线观看 | 三级视频网 | 欧美精品一二 | 日韩国产欧美视频 | 男人插女人的网站 | 国产三级国产精品国产专区50 | 国产女主播av | 在线观看69| 国产老头户外野战xxxxx | 精品国产一区二区在线 | 求一个黄色网址 | 九色一区| 丝袜人妖 | 农村妇女精品一区二区 | 少妇性xxxxxxxxx色武功 | 国产99久久久久久免费看 | 日韩欧美少妇 | 成人天堂 | 波多野结衣在线一区二区 | 中文字幕人妻熟女人妻a片 麻豆91视频 | а√在线中文网新版地址在线 | 欧美国产三级 | 一级特黄aa大片欧美 | 永久久久久久久 | 性天堂网 | 亚洲专区一区二区三区 | 公车乳尖揉捏酥软呻吟 | 亚洲视频一二区 | 日本aⅴ视频 | 色图视频| 久久偷看各类女兵18女厕嘘嘘 | 国产a视频| 裸体一区二区 | 免费中文字幕日韩欧美 | 国产欧美一区二区三区免费看 | 羞羞漫画在线播放 | 免费特黄视频 | 国产精品人人爽人人爽 | 无码人妻一区二区三区av | 韩国久久久 | mm1313亚洲国产精品无码试看 | 欧洲性开放大片 | a v视频在线播放 | a级大片在线观看 | 国产精品三级在线观看无码 | av不卡影院| 性欧美又大又长又硬 | 欧美视频一区在线观看 | 精品无码一区二区三区爱欲 | 色播导航| 欧美理伦片在线播放 | 三级黄在线观看 | 一级在线看 | 国产亚洲福利 | 爱情岛论坛成人 | 激情999 | 天堂婷婷 | 日本少妇bbwbbw精品 | 国产中文在线播放 | 成人网免费 | 日本免费黄色 | 国内精品偷拍视频 | 女人张开腿让男人桶爽 | 999视频在线播放 | 福利色导航 | 亚洲91视频| 国产日产欧美一区二区 | 国产freexxxx性播放麻豆 | 国产日韩欧美精品 | 美腿丝袜一区二区三区 | 国产精品天堂 | 成人国产精品免费观看动漫 | 一级片在线免费 | 中文字幕乱码一区二区三区 | 人人干天天干 | 在线播放一区 | 四虎国产精品永久免费观看视频 | 国产精品第二页 | 亚州av一区二区 |