精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

線上緊急問題之Using filesort 能優(yōu)化嗎,怎么優(yōu)化?

數(shù)據(jù)庫(kù) SQL Server
資源不足,查詢排序操作可能需要大量的計(jì)算和內(nèi)存資源。如果數(shù)據(jù)庫(kù)服務(wù)器的資源不足以執(zhí)行排序操作,查詢可能會(huì)被中斷。這種情況可能發(fā)生在高負(fù)載或資源不足的環(huán)境中。

上一篇文章中,提到了如何分析 SQL 的執(zhí)行計(jì)劃,從而更好的應(yīng)對(duì) SQL 性能過低等問題。但是我們也常遇到Extra字段是Using filesort的時(shí)候,上篇文章有描述:

圖片圖片

在 InnoDB 存儲(chǔ)引擎中,當(dāng)執(zhí)行計(jì)劃中出現(xiàn)"Using filesort"時(shí),表示 MySQL 需要對(duì)結(jié)果集進(jìn)行外部排序,以滿足查詢中的 ORDER BY 條件。

比如,下面這個(gè)執(zhí)行計(jì)劃中的"Extra"部分出現(xiàn)了"Using filesort",表明需要進(jìn)行文件排序。

+----+-------+----------------------+---------------------+----------------------------------------------------+
| id | type  | possible_keys        | key                 | Extra                                              |
+----+-------+----------------------+---------------------+----------------------------------------------------+
|  1 | range | idx_subject_product  | idx_subject_product | Using index condition; Using where; Using filesort |
+----+-------+----------------------+---------------------+----------------------------------------------------+

在下面這篇文章中,我們已經(jīng)介紹了 ORDER BY 的實(shí)現(xiàn)原理。通常情況下,"Using filesort"發(fā)生在無法直接利用索引完成排序的情況下,需要額外的排序步驟。這可能會(huì)導(dǎo)致查詢性能下降,特別是在處理大量數(shù)據(jù)時(shí)。優(yōu)化"Using filesort"的目標(biāo)是減少排序所需的資源和時(shí)間,從而提高查詢效率。

因此,當(dāng)執(zhí)行計(jì)劃中出現(xiàn)"Using filesort"時(shí),這是我們可以優(yōu)化的一個(gè)方向。(但是,并不是說一定要優(yōu)化!要看是否有必要以及收益是否夠大)。

針對(duì)"Using filesort"的優(yōu)化,可以有以下幾個(gè)方向:

優(yōu)化方向

盡量使用索引排序:

索引是天然有序的,所以當(dāng)我們?cè)谑褂?order by 的時(shí)候,如果能借助索引,那么效率一定是最高的。

  • 那么我們就可以確保 ORDER BY 子句中的字段是索引的一部分。
  • 并且如果可能,使 ORDER BY 中的列順序與索引中的列順序一致(order by a,b,c , idx_a_b_c(a,b,c))。
  • 并且考慮使用復(fù)合索引。如果 ORDER BY 子句涉及多個(gè)列,創(chuàng)建一個(gè)包含這些列的復(fù)合索引可能會(huì)有助于消除 Using filesort。

優(yōu)化 MySQL 配置:

我們還可以調(diào)整 sort_buffer_size 參數(shù)。這個(gè)參數(shù)決定了排序操作可以使用的內(nèi)存量。增加其值可以提高處理大型排序操作的能力(但設(shè)置過大可能會(huì)消耗過多內(nèi)存資源,影響系統(tǒng)性能)。

根據(jù) sort_buffer_size 的大小不同,會(huì)在不同的地方進(jìn)行排序操作:

  • 如果要排序的數(shù)據(jù)量小于 sort_buffer_size,那么排序就在內(nèi)存中完成。
  • 如果排序數(shù)據(jù)量大于 sort_buffer_size,則需要利用磁盤臨時(shí)文件輔助排序。

在內(nèi)存中排序肯定會(huì)更快一點(diǎn)的。

實(shí)戰(zhàn)優(yōu)化之 Sort aborted 問題排查過程

問題發(fā)現(xiàn)

我們的定時(shí)任務(wù)是掃描表,但最近經(jīng)常收到定時(shí)任務(wù)掃描處理失敗的警報(bào)。登錄到服務(wù)器后,發(fā)現(xiàn)了數(shù)據(jù)庫(kù)層面的錯(cuò)誤信息:

Caused by: com.taobao.tddl.common.exception.TddlRuntimeException:
ERR-CODE: [TDDL-4614][ERR_EXECUTE_ON_MYSQL] Error occurs when execute
on GROUP 'FIN_RISK_XXX_GROUP' ATOM 'cn-zhangjiakou_i-xxxxx_fin_risk_xxx_3028':
Sort aborted: Query execution was interrupted More: [http://xxx.alibaba-inc.com/
faq/faqByFaqCode.html?faqCode=XXX-4614]

以上日志已經(jīng)進(jìn)行了簡(jiǎn)單的脫敏,其中最關(guān)鍵的一句是:

Sort aborted: Query execution was interrupted

這是數(shù)據(jù)庫(kù)查詢執(zhí)行過程中的錯(cuò)誤信息,通常在數(shù)據(jù)庫(kù)系統(tǒng)中會(huì)出現(xiàn)。該錯(cuò)誤消息表示數(shù)據(jù)庫(kù)查詢中的排序操作被中斷或終止了。

問題排查

通常情況下,導(dǎo)致這個(gè)問題發(fā)生的原因有幾個(gè):

  1. 慢 SQL 導(dǎo)致查詢超時(shí),此時(shí)為了避免數(shù)據(jù)庫(kù)連接長(zhǎng)時(shí)間被占用而中斷查詢。
  2. 查詢被手動(dòng)終止,數(shù)據(jù)庫(kù)管理員手動(dòng)中止正在執(zhí)行的查詢操作也會(huì)導(dǎo)致這個(gè)異常。
  3. 資源不足,查詢排序操作可能需要大量的計(jì)算和內(nèi)存資源。如果數(shù)據(jù)庫(kù)服務(wù)器的資源不足以執(zhí)行排序操作,查詢可能會(huì)被中斷。這種情況可能發(fā)生在高負(fù)載或資源不足的環(huán)境中。

總的來說,以上三個(gè)原因是導(dǎo)致問題發(fā)生的主要原因。接下來,我們將分析導(dǎo)致查詢失敗的 SQL 語(yǔ)句。這個(gè)語(yǔ)句在上述的錯(cuò)誤日志中已經(jīng)打印出來了,我對(duì)其中一些無關(guān)緊要的內(nèi)容進(jìn)行了隱藏,大致 SQL 如下:

### The error occurred while setting parameters### SQL:
select
  business_type_enum,
  product_type_enum,
  subject_id,
  subject_id_enum,
  GROUP_CONCAT(distinct (number) SEPARATOR ',') as risk_case_numbers,
  GROUP_CONCAT(distinct (risk_level_enum) SEPARATOR ',') as risk_level_enums,
from
  fraud_risk_case
WHERE
  product_type_enum = ?
  and risk_case_status_enum = 'DRAFT'
  and subject_id like "23%"
group by
  subject_id_enum,
  subject_id
limit
  ?, ?

大致來說,這個(gè) SQL 語(yǔ)句是基于 product_type_enum、risk_case_status_enum 和 subject_id 進(jìn)行條件查詢,并且基于 subject_id_enum 和 subject_id 兩個(gè)字段進(jìn)行了分組。

看了一下這條 SQL 的執(zhí)行計(jì)劃:

+----+-------+------------------------------+---------------------+----------------------------------------------------+
| id | type  | possible_keys                | key                 | Extra                                              |
+----+-------+------------------------------+---------------------+----------------------------------------------------+
|  1 | range | idx_subject_product          | idx_subject_product | Using index condition; Using where; Using filesort |
+----+-------+------------------------------+---------------------+----------------------------------------------------+

通過這個(gè) SQL 語(yǔ)句的分析,我們可以看出它確實(shí)使用了索引,命中了 idx_subject_product 這個(gè)索引,其中包含了 subject_id 和 product_type_enum 字段。

另外,由于這條 SQL 語(yǔ)句包含了 GROUP BY 操作,因此需要進(jìn)行排序,但并沒有使用索引排序,而是基于 filesort 進(jìn)行的。

此時(shí)可以利用我之前的文章(首先想到的優(yōu)化方式就是提升這個(gè) sort 的性能。

問題解決

在這種情況下,考慮到需要兼顧 WHERE 條件的查詢性能以及排序操作的性能,可以創(chuàng)建一個(gè)包含 risk_case_status_enum、subject_id_enum 和 subject_id 三個(gè)字段的聯(lián)合索引,并按照 risk_case_status_enum、subject_id_enum 和 subject_id 的順序排列。

這樣的索引設(shè)計(jì)可以讓 WHERE 條件的判斷走索引,同時(shí)也能讓排序操作利用索引。索引建立后,執(zhí)行計(jì)劃可能會(huì)如下所示:

+----+-------+-------------------------------------------------+---------------------+----------------------------------------------------+
| id | type  | possible_keys                                   | key                 | Extra                                              |
+----+-------+-------------------------------------------------+---------------------+----------------------------------------------------+
|  1 | range | idx_subject_product ,idx_status_subject         | idx_status_subject  | Using index condition;                             |
+----+-------+-------------------------------------------------+---------------------+----------------------------------------------------+

這樣的話,執(zhí)行計(jì)劃中的 Extra 字段就只會(huì)顯示"Using index condition",表示排序操作基于索引完成了。

而且在發(fā)布之后,不再出現(xiàn)報(bào)警,問題得到了解決。

責(zé)任編輯:武曉燕 來源: 碼上遇見你
相關(guān)推薦

2023-12-11 06:27:39

MySQL線上業(yè)務(wù)優(yōu)化后臺(tái)上傳文件

2023-12-08 13:23:00

大數(shù)據(jù)MySQL存儲(chǔ)

2024-03-06 20:00:50

MySQL優(yōu)化器索引

2011-06-22 17:11:18

SEO

2011-06-20 14:44:49

網(wǎng)站優(yōu)化

2021-07-29 14:20:34

網(wǎng)絡(luò)優(yōu)化移動(dòng)互聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)

2011-06-28 18:04:06

網(wǎng)站優(yōu)化

2011-06-24 16:44:43

網(wǎng)站優(yōu)化

2025-11-04 08:07:43

ExtraSQL優(yōu)化

2011-06-23 19:13:08

ALT標(biāo)簽

2009-06-30 11:23:02

性能優(yōu)化

2018-01-09 16:56:32

數(shù)據(jù)庫(kù)OracleSQL優(yōu)化

2011-06-29 14:27:58

網(wǎng)站優(yōu)化

2019-12-13 10:25:08

Android性能優(yōu)化啟動(dòng)優(yōu)化

2020-03-09 16:43:06

腳本語(yǔ)言瀏覽器JavaScript

2021-07-16 23:01:03

SQL索引性能

2011-07-21 16:40:28

網(wǎng)站優(yōu)化

2013-09-17 10:32:08

Android性能優(yōu)化數(shù)據(jù)庫(kù)

2011-06-14 14:17:23

性能優(yōu)化系統(tǒng)層次

2017-09-05 09:02:06

Oraclenot null優(yōu)化
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

久久网站最新地址| 日韩毛片在线免费看| 成人av无码一区二区三区| 亚洲精品系列| 在线观看精品国产视频| 国产精品探花在线播放| 国产在线xxx| 久久久午夜电影| 亚洲www在线| 国产午夜性春猛交ⅹxxx| 91综合久久| 日韩国产激情在线| 欧美激情第一区| 中文字幕色婷婷在线视频| 国产精品麻豆99久久久久久| 国产成人精品福利一区二区三区| 久久夜色精品国产噜噜亚洲av| 91久久国产| 亚洲精品日韩丝袜精品| 被黑人猛躁10次高潮视频| 欧美电影网址| 亚洲午夜视频在线| 日韩欧美中文在线| 一区二区三区久久精品| 欧美一级片在线免费观看| 国产精品高清乱码在线观看| 亚洲一区二区三区四区中文字幕| 视频一区二区三区在线观看| 午夜影院免费体验区| 精品一区二区三区久久久| 欧美影院在线播放| 久久久久久久久久99| 97在线精品| 一区二区日韩精品| 国产三级视频网站| 国产ts一区| 日韩一区二区三区四区| 一个色综合久久| 欧美成人精品三级网站| 欧美午夜无遮挡| 精品少妇在线视频| 亚洲淫性视频| 亚洲欧美在线另类| 一区二区三区四区视频在线观看| 男女视频在线观看| 久久免费看少妇高潮| 国产综合18久久久久久| 黄色片一区二区三区| 久草在线在线精品观看| 国产精品嫩草影院久久久| 天堂网视频在线| 亚洲欧美成人| 日本精品久久久久久久| 日韩精品在线免费视频| 亚洲欧美bt| 欧美日韩国产在线一区| 日本久久精品电影| 久久婷婷五月综合色国产香蕉| 久草在线视频资源| 夜夜嗨av一区二区三区网页| www婷婷av久久久影片| www免费在线观看| 一区二区三区资源| 久久人妻无码一区二区| 欧美hdxxx| 亚洲丶国产丶欧美一区二区三区| 国产天堂视频在线观看| 麻豆福利在线观看| 亚洲国产精品一区二区www在线| 精品无码国产一区二区三区av| 7777kkk亚洲综合欧美网站| 午夜精品久久久久久久久久| 国产中文字幕视频在线观看| 成人美女黄网站| 欧美色涩在线第一页| 国内av一区二区| 国产精品流白浆在线观看| 日韩成人在线视频| 无码少妇精品一区二区免费动态| 成人高清av| 欧美xxxx18性欧美| 日韩三级小视频| 日韩精品五月天| 91中文字幕一区| 天堂成人在线观看| 久久久99免费| 法国空姐在线观看免费| 黄色激情在线播放| 欧美日韩在线播| 黑人无套内谢中国美女| 亚洲性视频大全| 日韩视频永久免费观看| 国产精品成人久久| 日本v片在线高清不卡在线观看| 91免费国产网站| 午夜在线视频观看| 国产精品福利在线播放| 妞干网在线视频观看| 伊人久久高清| 精品日韩欧美一区二区| 久久国产柳州莫菁门| 综合激情一区| 国产精品成人免费电影| 精品毛片在线观看| 欧美国产一区在线| 欧美精品一区二区三区三州| 久久久免费人体| 日韩av综合网站| 四虎影院中文字幕| 日日噜噜夜夜狠狠视频欧美人| 91精品国自产在线观看| 二区三区在线| 婷婷久久综合九色综合伊人色| 欧美精品性生活| 欧美jizz19性欧美| 欧美xxxx做受欧美.88| 天码人妻一区二区三区在线看| 国产精品一区二区在线观看不卡| 欧美一区二区在线| 91白丝在线| 日韩三级在线免费观看| 国产在线免费av| 久久www成人_看片免费不卡| 成人xxxxx色| 快射视频在线观看| 欧美性一区二区| 无码人妻精品一区二区三应用大全| 欧美激情偷拍自拍| 热re91久久精品国99热蜜臀| 黄色小视频免费观看| 亚洲色图丝袜美腿| 亚洲精品20p| 欧美一区二区三| 日本精品性网站在线观看| 无码精品一区二区三区在线| 一区二区三区波多野结衣在线观看| 亚洲欧美日韩三级| 成人久久电影| 国产精品高潮粉嫩av| 视频三区在线观看| 欧美日韩国产色视频| 无码任你躁久久久久久老妇| 亚洲特色特黄| av成人免费观看| 中国av在线播放| 日韩一区二区三区视频在线观看| 日本青青草视频| 国产精品综合一区二区三区| 91大学生片黄在线观看| 蜜桃精品视频| 欧美黑人视频一区| 人妻一区二区三区四区| 亚洲va天堂va国产va久| 无码国产69精品久久久久网站| 欧美天天在线| 精品亚洲第一| 性欧美gay| 国产亚洲日本欧美韩国| 午夜一级黄色片| 国产精品热久久久久夜色精品三区 | 久久福利一区二区| 日韩精品久久久久久久软件91| 欧美疯狂性受xxxxx另类| 精品人妻无码一区二区三区蜜桃一| 亚洲免费观看高清完整版在线 | 亚洲人123区| 国产精品99精品无码视亚| 亚洲精品1区2区| 日产精品高清视频免费| 精品久久久网| 九九视频直播综合网| 人人妻人人澡人人爽久久av| 色偷偷久久一区二区三区| 成年人免费视频播放| 国产一区二区三区精品视频| 男人天堂a在线| 亚洲人成网77777色在线播放| 国产精品久久久久久久一区探花 | 久久免费国产视频| 久青青在线观看视频国产| 欧美日韩mp4| 亚洲精品在线观看av| 久久久亚洲高清| www.日本久久| 性色一区二区| mm131午夜| 五月天亚洲色图| 91九色在线视频| 在线天堂新版最新版在线8| 中文字幕精品—区二区| 亚洲欧美另类一区| 欧美性色aⅴ视频一区日韩精品| 日韩在线中文字幕视频| 91丨porny丨户外露出| 日本黄色的视频| 国产亚洲一级| 日韩视频一二三| 国产aⅴ精品一区二区三区久久| 亚洲精品免费一区二区三区| 国产精品专区免费| 欧美日韩福利电影| 成人综合影院| 亚洲黄色www| 国产精品系列视频| 一本色道久久综合亚洲91| 欧美久久久久久久久久久久| 中文乱码免费一区二区| 免费无码一区二区三区| 国产一区二区三区免费在线观看| 日韩av资源在线| 黄色欧美成人| 青少年xxxxx性开放hg| 欧美禁忌电影网| 国产一区喷水| 日韩高清二区| 国产精品自在线| 少妇一区视频| 91福利视频在线观看| 日皮视频在线观看| 久久精品国产99国产精品澳门| 美国成人毛片| 亚洲激情在线视频| 黄色一级a毛片| 日韩欧美一二三| 国产免费黄色录像| 欧美日韩免费观看一区三区| 无码人妻黑人中文字幕| 欧美日韩免费看| 日韩欧美激情视频| 亚洲成人动漫在线观看| 免费在线观看亚洲| 一区二区免费在线| 国产97免费视频| 亚洲欧洲精品成人久久奇米网| 久久久久久久毛片| 欧美激情一区二区三区| 欧美 日韩 国产 成人 在线观看| 2020日本不卡一区二区视频| 亚洲国产果冻传媒av在线观看| 成人av资源站| 中文字幕a在线观看| 成人激情文学综合网| 黑人玩弄人妻一区二区三区| 成人免费av资源| 亚洲麻豆一区二区三区| jvid福利写真一区二区三区| 波多野结衣视频播放| 99re免费视频精品全部| 国产精品一级黄片| 久久久另类综合| 手机毛片在线观看| 国产精品嫩草99a| 国产探花在线视频| 一区二区三区四区在线| 久久久久成人片免费观看蜜芽| 亚洲自拍偷拍av| 国产精品黄色网| 色综合久久天天综合网| 中国一级片黄色一级片黄| 欧美日韩免费在线视频| 精品久久久久久亚洲综合网站| 亚洲成人网在线观看| 亚洲av激情无码专区在线播放| 亚洲男人av在线| 日本高清中文字幕在线| 久久69精品久久久久久久电影好 | 成人伊人精品色xxxx视频| 国产精品亚洲欧美一级在线 | 911久久香蕉国产线看观看| 国产日韩欧美大片| 亚洲美女色禁图| www.色偷偷.com| 国产黄色成人av| jizz欧美性20| 亚洲欧美综合在线精品| 日韩av一二三区| 欧美午夜精品久久久| 精品国产伦一区二区三区| 国产丝袜一区二区三区免费视频| 91福利在线视频| 久久久噜久噜久久综合| 成人做爰视频www| 成人精品久久久| 色哟哟精品丝袜一区二区| 婷婷亚洲婷婷综合色香五月| 欧美午夜不卡影院在线观看完整版免费 | 丝袜美腿美女被狂躁在线观看| 欧美成在线视频| 蜜臀国产一区| 91超碰在线电影| 欧美日韩中文字幕一区二区三区| 黄色三级中文字幕| 日本免费新一区视频 | 亚洲国产精品传媒在线观看| 劲爆欧美第一页| 精品视频1区2区| 全部免费毛片在线播放网站| 久久中文久久字幕| 欧美www.| 精品午夜一区二区| 欧美日本一区二区高清播放视频| 国产精品亚洲二区在线观看| 国产91对白在线观看九色| 国产欧美一区二区三区在线观看视频 | 日韩av一级大片| 亚洲美女少妇无套啪啪呻吟| 黄色片免费网址| 中文字幕av一区二区三区高| 免费在线观看黄网站| 日韩免费视频线观看| 亚洲成人三级| 国产成人亚洲综合91| 国产欧美自拍一区| 黄色录像特级片| 麻豆传媒一区二区三区| 四虎永久免费在线观看| 亚洲成人免费看| av手机免费看| 日韩中文字幕免费视频| 欧美舌奴丨vk视频| 久久视频在线观看中文字幕| 91麻豆精品国产91久久久平台| 黄色高清无遮挡| 91网站在线观看视频| 中文字幕在线观看免费视频| 欧美大片在线观看一区| 成人短视频在线| 91免费国产视频| 婷婷亚洲五月| 亚洲第一成肉网| 亚洲色图一区二区三区| 国产精品女同一区二区| 日韩在线免费高清视频| 岛国一区二区| 亚洲精品美女久久7777777| 日韩中文字幕麻豆| 国产av自拍一区| 日本道在线观看一区二区| 欧美日韩伦理片| 日本欧美爱爱爱| 国产一区二区三区电影在线观看| 久久精品.com| 国产调教视频一区| 波多野结衣视频观看| 国产一区二区三区欧美| 成人精品电影在线| 水蜜桃亚洲精品| 日韩电影在线观看电影| 91精品国自产在线| 欧美日韩久久一区| 成人在线播放免费观看| 成人动漫视频在线观看免费| 日韩一级大片| 欧美特级黄色录像| 欧美日韩一区二区在线观看 | 精品少妇av| 九色porny自拍| 亚洲欧洲日韩综合一区二区| 国产wwwwwww| 午夜精品www| 免费看成人吃奶视频在线| 五月婷婷狠狠操| 亚洲欧美电影院| 午夜精品久久久久久久第一页按摩| 久久久久久网址| 国产最新精品| 国产高清av片| 精品久久久视频| 亚洲搞黄视频| 国产伦精品一区二区三区视频免费 | 午夜精品久久久久久久白皮肤 | 久久永久免费视频| www.日韩不卡电影av| 日本一区二区三区播放| 久久久久久久午夜| 国产精品美女视频| 丰满熟妇乱又伦| 国产ts一区二区| 亚洲大全视频| 国产偷人妻精品一区| 欧美日韩一区二区欧美激情| 手机在线免费观看av| 农村寡妇一区二区三区| 国产最新精品免费| 欧美日韩乱国产| 欧美精品午夜视频| 国产剧情一区| 99热超碰在线| 欧美日韩欧美一区二区| 92久久精品| 一区二区在线观| 99riav一区二区三区| 国产又大又长又粗| 欧美又大又粗又长| 午夜久久影院| 天堂av免费在线| 亚洲精品视频免费在线观看| av一级久久| 成人免费无码av| 天天综合网天天综合色 |