首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >掩盖指数之谜?

掩盖指数之谜?
EN

Database Administration用户
提问于 2020-07-26 00:26:09
回答 1查看 32关注 0票数 0

那么,是否还有其他人在MySQL中应用了覆盖索引并提高了性能,但是当您运行explain时,它会使用where显示,在额外列下使用临时的吗?有什么想法吗?为什么会这样?我对性能的提高感到高兴,但是我的工程师想知道为什么额外的一栏没有说“使用索引”。如果你需要我提供细节,我会的,但这个问题是针对专家谁已经在MySQL经验,并知道原因。我要补充的是,在我的特殊情况下,我将覆盖索引应用于update语句。查询中的所有列都包含在复合(覆盖)索引中。下面是我所做的事情的一个例子:

表A具有以下属性: 25,000行。

有以下列:1、2、3、4、5、6、7、8和9。

我的覆盖索引查询目标:

更新表A集一组=“somevalue”,2=“Som估价2”,四组=“somevalue4 3”,5=“somevalue6”,其中7= 'somevalue5‘和8= 'somevalue6’。

表A的覆盖指数:idx_covering(7、8、1、2、4、5)

EN

回答 1

Database Administration用户

发布于 2020-07-26 00:40:43

索引的顺序很重要。

您的更新查询使用seveneight。这个指数的最左边一定是最开始的。因为两者都使用基于= value的标准,而顺序并不重要。

代码语言:javascript
复制
create index udx_78 on A (seven, eigth)

将更新的列放入索引中无助于更新查询。如果是select查询,则查询将从索引中返回这些列。

mysql如何使用索引

欢迎来到DBA堆栈交换。请将下一次的explain输出与show create table {tablename}一起包括在内,因为它能更快地传递信息。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/271661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档