精品欧美一区二区三区在线观看 _久久久久国色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)

欧美日韩亚洲三区| 欧美h版在线观看| 国产日韩三级在线| 成人黄色生活片| 成人免费看片98| 亚洲成aⅴ人片久久青草影院| 欧美在线观看视频一区二区 | 1区2区3区国产精品| 国产成人一区二区三区免费看| 偷偷操不一样的久久| 精品午夜久久| 亚洲成色777777在线观看影院| 欧美综合在线观看视频| a视频在线观看免费| 久久综合999| 91九色国产社区在线观看| 国产成人亚洲欧洲在线| 久久精品高清| 精品中文视频在线| 国产伦理在线观看| 成人亚洲网站| 一本色道亚洲精品aⅴ| 黄色一级片av| 在线观看av黄网站永久| 99麻豆久久久国产精品免费| 91精品综合视频| 精品黑人一区二区三区| 亚洲激情另类| 欧美精品免费在线| 性爱在线免费视频| 亚洲综合小说图片| 亚洲韩国青草视频| 日本人dh亚洲人ⅹxx| av久久网站| 色女孩综合影院| 黄页免费在线观看视频| 色综合999| 亚洲手机成人高清视频| 日本高清不卡三区| 偷拍自拍在线| 99久久er热在这里只有精品66| 91黄在线观看| 国产免费不卡视频| 久久精品国产一区二区| 国产精品久久久久久久一区探花 | 老**午夜毛片一区二区三区| 久久人91精品久久久久久不卡| 色偷偷www8888| 久久中文视频| 色偷偷91综合久久噜噜| www成人啪啪18软件| 精品精品久久| 亚洲欧洲黄色网| 精品人妻少妇嫩草av无码| 国产一区二区在线视频你懂的| 欧美一区二区三区在线观看视频 | 9色porny自拍视频一区二区| αv一区二区三区| www.色呦呦| 粉嫩嫩av羞羞动漫久久久| 风间由美一区二区三区| 丰满人妻妇伦又伦精品国产| 国产999精品久久久久久| yellow视频在线观看一区二区| 精品人妻一区二区三区麻豆91| 国模少妇一区二区三区| 97netav| 亚洲欧美强伦一区二区| 99久久777色| 欧美亚洲精品日韩| 欧美性猛交xxx乱大交3蜜桃| 综合激情成人伊人| 女人被男人躁得好爽免费视频| 好吊日av在线| 日韩欧美精品在线观看| 99草草国产熟女视频在线| 国产激情欧美| 制服丝袜亚洲播放| 好吊操视频这里只有精品| 久久夜色电影| 国产一区二区久久精品| 天天做夜夜爱爱爱| 欧美日韩亚洲一区三区| 欧美有码在线视频| 国产精品久久久久久久成人午夜| 国产黄色精品视频| 欧美精品一区二区视频| 日本在线视频站| 午夜精品久久久久久久蜜桃app| 欧美 日韩 国产一区| 欧洲美女精品免费观看视频| 日韩欧美成人一区| 国产精品亚洲无码| 亚洲网色网站| 人人澡人人澡人人看欧美| 91精品国产综合久| 91丨porny丨在线| 国产日韩视频在线播放| 亚洲人体视频| 日韩一级精品视频在线观看| av在线网站观看| 天天色综合色| 日本成人黄色片| 亚洲精品一区二区三区区别| 国产午夜三级一区二区三| 三上悠亚免费在线观看| 欧美电影免费看| 欧美一区二区三区小说| 一级黄色性视频| 亚洲无毛电影| 91精品久久久久久久久中文字幕| 香港一级纯黄大片| 亚洲免费资源在线播放| 无人在线观看的免费高清视频| 亚洲欧美日本国产| 深夜福利91大全| 久久久久久久久久久影院| 国产一区二区三区四| 日韩欧美亚洲在线| 欧美sm一区| 日韩精品在线一区二区| 亚洲女人久久久| 视频在线观看一区| 激情一区二区三区| 日本大片在线播放| 欧美一二三四区在线| 五月婷婷欧美激情| 三级影片在线观看欧美日韩一区二区| 国产精品yjizz| 国产乱色在线观看| 欧美三片在线视频观看| 亚洲理论片在线观看| 国产精品人人爽人人做我的可爱| 91文字幕巨乱亚洲香蕉| 国产精品久久麻豆| 69久久夜色精品国产69蝌蚪网| 精品国产成人亚洲午夜福利| 国产精品色网| 明星裸体视频一区二区| 忘忧草在线日韩www影院| 亚洲第一天堂无码专区| 久久人人爽人人爽人人| 国产成人高清在线| 国内自拍中文字幕| 日本一区二区三区视频在线看 | 亚洲欧美中文字幕| 一区二区三区福利视频| 91亚洲精品乱码久久久久久蜜桃 | 秋霞电影网一区二区| 欧美午夜精品久久久久免费视| 欧美羞羞视频| 伊人亚洲福利一区二区三区| 高潮毛片又色又爽免费| 国产视频一区在线播放| 国产高潮免费视频| 我不卡伦不卡影院| 成人精品在线观看| 伊人电影在线观看| 精品国产精品网麻豆系列| 国产在线欧美在线| 99国产精品视频免费观看| 青青青免费在线| 九九热线有精品视频99| 国产精品久久久久秋霞鲁丝 | 国产精品嫩草影院在线看| 国产不卡在线观看| 在线日本中文字幕| 3atv一区二区三区| 日本三级欧美三级| 久久久午夜电影| 成人日韩在线视频| 中文字幕一区二区三区在线视频| 99国产视频在线| 色偷偷偷在线视频播放| 一个色综合导航| 国产男男gay体育生白袜| 亚洲成人黄色影院| 午夜理伦三级做爰电影| 久草这里只有精品视频| 无码人妻精品一区二区蜜桃网站| 欧美a大片欧美片| 国产精品久久久久久搜索 | 色婷婷色综合| 电影午夜精品一区二区三区| 亚洲优女在线| 久久伊人精品一区二区三区| 日韩在线观看视频一区| 欧美在线不卡视频| 欧美激情国产精品免费| 久久日韩精品一区二区五区| 中文字幕免费高清在线| 亚洲性感美女99在线| 日本午夜精品一区二区三区| 亚洲日本va| 国产精品久久久久久久9999| 狂野欧美性猛交xxxxx视频| 亚洲欧洲日产国产网站| 亚洲高清视频在线播放| 欧美性色aⅴ视频一区日韩精品| 黄色一级片在线| 国产无一区二区| 亚洲一级Av无码毛片久久精品| 久久综合婷婷| 亚洲熟妇无码一区二区三区导航| 日韩精品第一区| 久久综合给合久久狠狠色| 国模大尺度视频一区二区| 欧美一性一乱一交一视频| 日本在线视频www鲁啊鲁| 中日韩美女免费视频网站在线观看| 亚洲精品久久久久avwww潮水| 欧美午夜寂寞影院| av黄色在线看| 一区二区三区蜜桃| 97在线观看视频免费| 国产亚洲自拍一区| 亚洲久久久久久| 国产91丝袜在线播放0| 毛片毛片毛片毛| 奇米一区二区三区| www黄色在线| 国产农村妇女精品一二区| 18黄暴禁片在线观看| 亚洲美女视频| 综合操久久久| 久久精品国产68国产精品亚洲| 欧美日韩国产精品一卡| 免费成人三级| 精品国产一区二区三区麻豆免费观看完整版| 成人精品视频在线观看| 国产日韩在线亚洲字幕中文| 欧美123区| 国产va免费精品高清在线| 亚洲天堂电影| 日韩av电影中文字幕| 天堂√中文最新版在线| 97碰在线观看| 三妻四妾完整版在线观看电视剧| 高清欧美性猛交xxxx| 丁香花在线电影小说观看| 九九热精品视频在线播放| √天堂8在线网| 欧美成在线观看| 污视频网站在线免费| 欧美裸体男粗大视频在线观看| 黄色网页在线播放| 美女精品久久久| 婷婷色在线播放| 欧美精品激情在线观看| 爱福利在线视频| 91成人在线播放| 最新中文字幕在线播放| 国产精品99久久久久久白浆小说| 色成人免费网站| 国产精品直播网红| 久久国产精品美女| 999在线免费观看视频| 91综合久久爱com| 国产综合精品一区二区三区| 日本精品影院| 日产国产精品精品a∨| 国产精品传媒精东影业在线| 一级黄色片播放| 亚洲无毛电影| 50路60路老熟妇啪啪| 蜜臀av亚洲一区中文字幕| 最新免费av网址| 成人av免费在线观看| 法国空姐电影在线观看| 国产精品美日韩| 欧美极品aaaaabbbbb| 欧美性猛交xxxx免费看久久久| 国产精品第6页| 欧美一级夜夜爽| 婷婷久久久久久| 中文字幕日韩在线播放| 成人无遮挡免费网站视频在线观看| 欧美日韩福利视频| 成人美女黄网站| 91久久久国产精品| 日韩有码一区| 尤物一区二区三区| 亚洲欧洲一区二区天堂久久| 成人精品小视频| 国产v综合v亚洲欧| 无码人妻aⅴ一区二区三区69岛| 国产精品入口麻豆九色| 久草视频免费播放| 在线观看国产日韩| 亚洲第一成人av| 在线播放日韩欧美| 丰满诱人av在线播放| 国产精品福利在线| 999在线精品| 伊人久久av导航| 国产日产高清欧美一区二区三区| 簧片在线免费看| av在线播放不卡| 伊人在线视频观看| 91激情五月电影| 亚洲精品国产精品国| 中文字幕日韩高清| 成人ssswww在线播放| 成人动漫网站在线观看| 久久av超碰| 久操网在线观看| 国产综合色产在线精品| a毛片毛片av永久免费| 一区二区三区欧美亚洲| 中文字幕在线观看第二页| 亚洲精品久久久久久下一站| 国产写真视频在线观看| 国产精品久久久久久av下载红粉| 精品人人人人| 欧美视频在线第一页| 蜜臀av亚洲一区中文字幕| 欧美做受高潮6| 精品国产999| 亚洲免费视频网| 米奇精品一区二区三区在线观看| 成人免费一区| 日韩精品欧美专区| 国产农村妇女毛片精品久久莱园子| 久久久久久无码精品人妻一区二区| 中文字幕欧美国产| 亚洲成人第一网站| 日韩av在线精品| 69av成人| 精品欧美国产| 在线亚洲免费| 182在线视频| 午夜精品福利视频网站| 亚洲欧美激情在线观看| 欧美成人亚洲成人日韩成人| 亚洲伦理久久| 正在播放一区| 精品在线观看免费| 男人与禽猛交狂配| 欧美一区二区三区色| 国产福利视频在线观看| 91久久久在线| 亚洲精品国产偷自在线观看| 午夜av中文字幕| 亚洲女同一区二区| а√天堂资源在线| 色综合视频网站| 国产精品x8x8一区二区| 欧美日韩不卡在线视频| 不卡视频在线看| 中文字幕精品三级久久久 | 成人在线观看av| 影音先锋久久资源网| 亚洲熟女乱综合一区二区三区| 精品久久久中文| 每日更新av在线播放| 国产精品观看在线亚洲人成网| 欧美丝袜激情| 亚洲色图偷拍视频| 亚洲一区二区在线观看视频| 深爱五月激情五月| 国产成人在线视频| 爽成人777777婷婷| 国产精久久久久| 疯狂欧美牲乱大交777| www.黄在线观看| 亚洲综合在线中文字幕| 日韩天堂av| 成人在线一级片| 日韩欧美一卡二卡| 亚洲校园激情春色| 亚洲资源视频| 夫妻av一区二区| 无码人妻丰满熟妇精品区| 日韩一级黄色av| 中文字幕一区图| 欧美日韩大尺度| 亚洲老妇xxxxxx| 亚洲欧美色视频| 成人久久久久爱| 国产精品日韩| 成人性生活毛片| 国产视频精品一区二区三区| 国产人妖一区| 男女啪啪免费视频网站| 欧美国产禁国产网站cc| 亚洲精品久久久久久久久久久久久久| 91大神在线播放精品| 国产精品99久久精品| 欧类av怡春院| 欧美精品久久久久久久多人混战 | 精品成人av一区| 在线毛片网站| 久久99精品国产99久久| 久久91精品国产91久久小草| 六月丁香婷婷综合| 欧美成人亚洲成人日韩成人| 欧美**vk| 日本一级片在线播放| 欧美一级免费大片| 深夜视频一区二区|