如何创建一个好的索引

技术如何创建一个好的索引 如何创建一个好的索引1、过滤效率高的放前面
对于一个多列索引,它的存储顺序是先按第一列进行比较,然后是第二列,第三列...这样。查询时,如果第一列能够排除的越多,那么后面列需要

如何创建一个好的索引

1、过滤效率高的放前面

对于一个多列索引,它的存储顺序是先按第一列进行比较,然后是第二列,第三列...这样。查询时,如果第一列能够排除的越多,那么后面列需要判断的行数就越少,效率越高。

关于如何判断哪个列的过滤效率更高,可以通过选择性计算来决定。

2、使用频率高的放前面

其实该建议比第一条优先级更高:

例如一个商品管理页面,一般都是基于该店家的上架或已下架的商品,再添加其他的查询条件等等。由于所有的查询都需要带有shopid和status条件,此时应该优先将这两个条件作为基本前缀,这样就可以方便复用索引。

例如一个(shopid, status, createdat)的索引,当查询条件只有shopid和status时,也可以使用该索引。如果完全根据字段的过滤效率来决定索引,就需要创建很多不同的索引。

3、减少随机IO

在之前对硬盘知识了解后可以知道,一次随机读会有10ms的寻址延迟,如果一次查询涉及达到多次的随机读,会很大程度的限制查询性能。常见的sql查询造成随机IO的包括回表和join

4、避免重复索引

以减少随机IO中的查询为例,我们最终是把(author, createdat)扩展为(author, createdat,name),而不是创建一个新的(author, name)的索引。

在实际应用场景中也有类似的情况,例如创建一个userid的外键索引,然后又创建(userid, xxx)的索引。由于索引存储的顺序性,其实可以将这两个索引进行合并,如果我们先创建(userid, xxx)的索引,然后再添加userid的外键,mysql会自动使用前面创建索引。

索引是否越多越好呢

显然不是,因为索引是对原表的数据冗余,那么他就必须要保证数据的一致性。如果原表增加了一条数据,索引也需要增加。如果原表修改了一条数据,那么对应的索引可能也要修改内容以及排序的位置,这可能会造成页分裂或页合并。一个表如果索引过多,那么维护索引与表的数据一致性也是不小的压力。通常建议在满足需求前提下,索引越少越好。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/143793.html

(0)

相关推荐

  • 嵌套_ table _ set _ refhint在数据库中有什么用?

    技术数据库中NESTED_TABLE_SET_REFS hint有什么用这篇文章将为大家详细讲解有关数据库中NESTED_TABLE_SET_REFS hint有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家

    攻略 2021年12月13日
  • bootrom 命令(bootrom是在哪里启动操作系统的)

    技术Boot之bootrom启动顺序是怎么样的这篇文章主要为大家展示了“Boot之bootrom启动顺序是怎么样的”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Boot之bo

    攻略 2021年12月22日
  • 有增根和无解的区别,分式方程无解有哪几种情况

    技术有增根和无解的区别,分式方程无解有哪几种情况分式方程是初中数学必备的内容,也是中考的命题热点,在分式方程的学习中需要注意以下几方面的问题有增根和无解的区别。一、分式方程的认识什么是分式方程呢?分母中含有未知数的方程叫

    生活 2021年10月25日
  • Kubernetes架构设计与核心组件工作流是什么

    技术Kubernetes架构设计与核心组件工作流是什么这篇文章主要讲解了“Kubernetes架构设计与核心组件工作流是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“

    攻略 2021年10月29日
  • 发朋友圈文字怎么不被折叠,苹果手机朋友圈折叠怎么处理

    技术发朋友圈文字怎么不被折叠,苹果手机朋友圈折叠怎么处理下载安装“讯飞输入法”,进入输入状态,点击“快捷输入”图标,进入“剪贴板”页面发朋友圈文字怎么不被折叠。打开“朋友圈模式”,需要开启完全访问状态,点击“立即开启”。

    生活 2021年10月30日
  • 给MicroPython加LCD160CR驱动有什么用?

    技术MicroPython添加了LCD160CR驱动有什么用这篇文章给大家分享的是有关MicroPython添加了LCD160CR驱动有什么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Mi

    攻略 2021年12月24日