前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >记一次mysql优化

记一次mysql优化

作者头像
botkenni
发布2019-09-03 15:50:20
3210
发布2019-09-03 15:50:20
举报
文章被收录于专栏:IT码农IT码农IT码农

今天在技术经理的现场优化中,把一条需要40000ms的sql语句优化到9ms左右,将近提高4500多倍的速度

优化前:

SELECT `o`.* FROM `order` `o` INNER JOIN `virtual_order` `vo` ON `o`.`virtual_order_id` = `vo`.`id` INNER JOIN `user` `u` ON `o`.`user_id` = `u`.`id` LEFT JOIN `crm_department` `d` ON `o`.`salesman_department_id` = `d`.`id` LEFT JOIN `order_team` `ot` ON `o`.`id` = `ot`.`order_id` WHERE ((d.path like '1-46-%') OR (`d`.`id`=46) OR (`o`.`salesman_aid`=93) OR (`ot`.`administrator_id`=93)) AND (`vo`.`is_vest`=0) ORDER BY `vo`.`created_at` DESC LIMIT 20

40790ms

优化后

EXPLAIN SELECT o.*

FROM `order` `o` LEFT JOIN `crm_department` `d` ON `o`.`salesman_department_id` = `d`.`id` LEFT JOIN ( SELECT order_id FROM `order_team` Where `administrator_id`=93) as ot ON `o`.`id` = `ot`.`order_id`

WHERE o.is_vest=0 AND ((d.path like '1-46-%') OR (`d`.`id`=46) OR (`o`.`salesman_aid`=93))

ORDER BY `o`.`created_at` DESC LIMIT 20;

9.21ms

G

M

T

Detect languageAfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanLaoLatinLatvianLithuanianMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPersianPolishPortuguesePunjabiRomanianRussianSerbianSesothoSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshYiddishYorubaZulu

AfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanLaoLatinLatvianLithuanianMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPersianPolishPortuguesePunjabiRomanianRussianSerbianSesothoSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshYiddishYorubaZulu

Text-to-speech function is limited to 200 characters

Options : History : Feedback : Donate

Close

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档