当前位置:首页 > 民俗文化

覆盖索引 MySQL SQL优化之覆盖索引

内容摘要

使用主索引来提高SQL的查询效率是我们经常使用的技巧,但有时候MySQL给出的执行计划却完全出乎意料。我们期望MySQL通过索引扫描来完成查询,但是MySQL给出的执行计划是通过全表扫描来完成查询的,有些场景可以通过覆盖索引来优化。

前几天有同事跟我说:“我写了一个SQL,很简单,但是查询速度很慢,针对查询条件创建了一个索引,但是索引不起作用。能不能帮我看看有没有办法优化一下?”。

我优化了他提供的案例,整理了优化流程。

优化前的表结构、数据量、SQL、执行计划、执行时间

表结构

CREATE TABLE `t_order `(

` id` bigint(20)无符号非空自动增量,

“订单代码”字符(12)不为空,

`订单_金额`十进制(12,2)非空,

主键(` id '),

唯一键` uni_order_code` (`order_code `)使用BTREE)

ENGINE = Innodb AUTO _ INDEX = 1 DEFAULT CHARSET = ut F8;

隐藏了一些不相关的字段后,我们可以看到表足够简单,在order_code上创建了一个唯一的索引uni _ order_code。

数据量:316977

这个数据量还是比较小的,但是如果SQL足够差,查询会比较慢。

结构化查询语言

选择订单代码,

order _ amount from t _ order order by order _ code limit 1000;

哇,SQL够简单,但有时候越简单越难优化。

实施计划

全表扫描和文件排序注定查询速度慢!

那MySQL为什么不用索引(uni_order_code)扫描来完成查询呢?因为MySQL认为在这种场景下索引扫描并不是最好的结果。我们先看执行时间,再分析为什么不用索引扫描。

执行时间:260毫秒

执行计划显示,查询将使用覆盖索引,只扫描1000行数据,因此查询性能应该很好。

执行时间:13毫秒

在执行时间上,SQL的执行时间增加到了原来的1/20,达到了我们的预期。

摘要

覆盖索引意味着select的数据列只能从索引中获取,而不能读取数据行。换句话说,查询列应该被索引覆盖。索引字段不仅包括查询列,还包括查询条件、排序等。

要写出性能良好的SQL,不仅要学习SQL,还要了解数据库执行计划、数据库执行过程、索引数据结构等等。

转载自:船长先生

原文:https://my.oschina.net/loujinhe/blog/1528233#comment-list

1.《覆盖索引 MySQL SQL优化之覆盖索引》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《覆盖索引 MySQL SQL优化之覆盖索引》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/guoji/673944.html

上一篇

因“内衣买小了”新郎接亲被拒 谁的责任?知情人:男方将起诉女方

下一篇

高晓松老婆徐珊珊 娱乐圈年龄相差20岁以上的十大“老夫少妻”明星

google图片搜索引擎 Google 搜图全攻略,这些技巧让你快速找到想要的图片

  • google图片搜索引擎 Google 搜图全攻略,这些技巧让你快速找到想要的图片
  • google图片搜索引擎 Google 搜图全攻略,这些技巧让你快速找到想要的图片
  • google图片搜索引擎 Google 搜图全攻略,这些技巧让你快速找到想要的图片

excel随机数生成 Excel快速生成随机数,随机抽选自动生成数据,快人一步超轻松

  • excel随机数生成 Excel快速生成随机数,随机抽选自动生成数据,快人一步超轻松
  • excel随机数生成 Excel快速生成随机数,随机抽选自动生成数据,快人一步超轻松
  • excel随机数生成 Excel快速生成随机数,随机抽选自动生成数据,快人一步超轻松
零售店加盟 长安玩起新零售 计划3年开10000家加盟店

零售店加盟 长安玩起新零售 计划3年开10000家加盟店

新零售直营店内部设施记者郑三博照片长安汽车首家新零售直营店在龙湖时代天街D厅正式开业现在你有了另一个买车的选择——新的直营店。7月28日,长安汽车首家新直营店在大坪龙湖时代天街D厅L...

儿童搜索 一款能让父母控制的儿童搜索引擎!

  • 儿童搜索 一款能让父母控制的儿童搜索引擎!
  • 儿童搜索 一款能让父母控制的儿童搜索引擎!
  • 儿童搜索 一款能让父母控制的儿童搜索引擎!

郑爽体重 郑爽体重终于过百了,坦率的她公开了自己的减肥计划,网友:好惨

在众多年轻的花旦中,郑爽有着很强的热搜技能。从整容,情绪变化到体重,她总是被热议。尤其是她的体重,有一次因为太瘦,被质疑有厌食症。之前,郑爽和杨洋拍摄《微笑与坠落》的时候,体重曾一度...

复习计划 【行测85.5分小哥哥经验谈】考前一个月我的复习计划

  • 复习计划 【行测85.5分小哥哥经验谈】考前一个月我的复习计划
  • 复习计划 【行测85.5分小哥哥经验谈】考前一个月我的复习计划
  • 复习计划 【行测85.5分小哥哥经验谈】考前一个月我的复习计划
中国顶级富豪逃跑计划 中国顶级富豪的逃跑计划 实情令人咂舌!

中国顶级富豪逃跑计划 中国顶级富豪的逃跑计划 实情令人咂舌!

刘强东明尼苏达州一案闹得很厉害的时候,有一个话题很热:如果刘强东和奶茶妹离婚,奶茶妹能分到多少钱?获得认可度较高的一个回答是:能分到2块钱和一半的婚后房产。婚后房产这个不用多说,这个2块钱是怎么一回事呢?原来在刘强东领证之前的五月份,京东董事会投票通过了关于刘强东的十年薪酬计划,在未来十年内,刘强东的年薪只有一块钱,奖金是零元!也就是说在结婚四年里,刘强东的工资只有4块钱,奶茶能拿走一半,即2块钱...

嘉善人才在线 嘉善人才工作大数据

●以“千人计划”产业园为龙头,桂谷园加快建设集生产、生活、生态为一体的嘉善桂谷直造镇。2016年,园区引进新项目41个,新增1家企业1亿元。新三板的一家上市公司的税收翻了一番 嘉善...