当前位置:首页 > 日记 > 正文

MySQL中关键索引和重点索引概念的学习教程

MySQL中关键索引和重点索引概念的学习教程
主键

主键索引,称为主键,是主键,由一个或多个列组成,用于唯一地标识数据表中的记录。表可以没有主键,但最多只能有一个主键,主键值不包含null。

在MySQL中,我们通常遵循的InnoDB数据表的主键设计的几个原则:

不使用业务的自添加属性列用作主键。

主键字段的值始终没有更新,只有两种操作被添加或删除。

动态更新的类型,如当前的时间戳,没有被选择。

这样做的好处有以下几点:

当新的数据被添加,对InnoDB页分裂的概率是因为主键值的增加依次降低。我们可以参考以前的共享{ MySQL FAQ }系列--为什么InnoDB表推荐使用自添加列作为主键。

当业务数据发生变化时,主键值不能修改,减少在物理存储位置的变化的可能性,并在InnoDB页面碎片的概率也降低。

由于MyISAM表是一堆组织表,它可以在主键类型的设计很精致。

辅助索引是我们经常提到的索引,原索引是辅助索引,辅助索引也可以分为唯一索引,而不是唯一索引。

事实上,惟一的索引应该称为唯一约束,其功能是避免列或多列值的重复,它是一个约束索引。

在MyISAM引擎,唯一的指标是不是主要关键指标本质上是不同的,但核心价值为零的存在。换句话说,在MyISAM引擎,对空值的唯一索引是不允许的,它本质上是一个主键索引。

在InnoDB引擎,主要关键指标和辅助指标差别很大。主要的关键指标是作为一个聚集索引,而索引和普通辅助索引的存储是没有必要的,除了唯一性约束。

从查询的性能,在MyISAM表,查询性能的主键索引和唯一索引不允许空是等价的。In the InnoDB table, through a unique index query, it needs another transformation process from auxiliary index to primary key index.The lookup cost of InnoDB table based on ordinary index is higher, because after retrieving the result, it needs to search at least once more to confirm whether there are more eligible results. 主键索引和唯一索引不需要做。

经过测试,100万行数据的MyISAM是随机检索(整数型),主键和唯一索引的效率基本上是相同的,与普通索引检索效率比30%慢。对于InnoDB表,独特的指数是9%左右的效率比主键索引,和普通指数是50%比主键索引慢。
聚集索引

在MySQL的InnoDB引擎表是(集群)索引组织表(聚集索引组织表),而MyISAM引擎的表是堆组织表(堆组织表)。

聚合索引也称为聚类索引。

当然,聚合索引的概念并不是MySQL独有的,其他数据库系统也有。

总之,聚集索引是组织形式的关键索引,逻辑顺序索引决定了表行的物理存储顺序,而非聚集索引是索引,只需在一列数据上创建相应的索引,不影响整个表序列的物理存储。

让我们来看一下这两种存储方式的区别:

简单地说,物联网数据的物理存储顺序与主键索引是一致的,因此,如果新数据是离散的,那么数据块将是离散的而不是连续的,热表数据写入的顺序按写入时间顺序存储。

物联网表对热表的优点是:

范围查询效率较高;

当数据频繁更新(聚合索引本身未更新)时,生成片段并不容易。

它特别适合于一小部分热数据频繁地读写。

通过主键快速访问数据。

物联网表的缺点是:

如果数据变化是离散的,那么效率将比热表更差。
热表的缺点是:

索引表的阅读成本很高。
大多数数据是随机读取的,不能保证按顺序读取。
每个InnoDB表只能创建一个聚集索引,可以由一个或多个列。
如上所述,InnoDB是一个聚集索引组织表和聚集指数选择的规则是这样的:

首先,选择显式定义的主索引作为聚集索引。

如果没有,则选择不允许null的第一个索引;

如果不是,InnoDB引擎内置的rowid作为聚集索引。
可以看出,此索引结构的叶节点,该节点的关键值是主键的值,而该节点的值存储剩余的列数据和附加信息如rowid,回滚指针,TRX ID等等。

在这个图,结合上文,我们可以知道,在InnoDB表的聚集索引,相当于整个表,和整个表也是一个聚集索引,主键约束是聚集指数和聚集指数不一定是主键。

MyISAM是一堆组织表,它没有聚集索引的概念。

二者的比较

下面是一个简单的比较表

相关文章

如何美化封面PPT基础教程PPT

如何美化封面PPT基础教程PPT

基础教程,封面,电脑软件,PPT,为了使PPT更加美观,我们可以用线条美化封面。如果我们不知道如何美化封面,让我们来告诉你如何用PPT美化封面。 美化封面的PPT: 它可以这样设计。 它也可以这样设计。 它也可以这样设计。 加雾化背景更漂亮 记得韵…

PS图象处理软件如何让自然影响PS实

PS图象处理软件如何让自然影响PS实

图象,处理软件,实用技巧,自然,电脑软件,PS /目标= '_blank> PS图象处理软件如何使自然的效果,如闪电,告诉你PS图象处理软件如何使自然的影响。 PS图象处理软件的方式制造出自然的效果 首先,我们打开PS程序作为准备工作。 创建一个新的图片…

PS图象处理软件合成的幻影影响创造

PS图象处理软件合成的幻影影响创造

幻影,舞蹈演员,图象,创造性,处理软件,介绍了PS教程的特殊生产方法可以应用于任何视频,但它特别适合喜欢黑色和白色的场景,颜色纯正,固定镜头,因为它省去了背景处理和像素处理部分。这里是一个方法,介绍幻影效果PS图象处理软件合成舞者跳舞。让我…

js数组的各种操作总结

js数组的各种操作总结

操作,数组,电脑软件,js,数组应该是日常生活中使用频率最高的js代码。在正常的项目中,许多数据可以通过数组存储和操作,除了对象,数组类型应该是js中最常用的类型。 今天,总结一下数组的一些简单和基本操作,并巩固我们的基础知识。 1。如何直接…

在专有的CSS属性haslayoutIE浏览器

在专有的CSS属性haslayoutIE浏览器

浏览器,属性,深度,电脑软件,CSS,a.haslayout是什么 haslayout有很多相似之处的,但haslayout概念更易于理解。在互联网浏览器,元素与布局;的概念来控制的大小和位置、布局和布局已不分为两种,大小和定位元件的布局是由本身和它的元素的控制,没有…

词的页面背景时,清除Word2010教程的

词的页面背景时,清除Word2010教程的

操作,教程,清除,背景,页面,字填写页面背景;雨后;,今天是一个常见的大学计算机考试,萧边教你在Word页面背景的技能后雨。 单词页面到后台操作步骤后的雨 单击页面布局;。 点击页面颜色选项,点击填充效果;。 在渐变选项卡上,单击预置;。 在默认的颜…

ps实例分析在减法中的应用

ps实例分析在减法中的应用

应用实例,实例分析,减法,电脑软件,ps,今天给大家分享的ps解析减法的方法,教程很基础,适合初学者学习,希望对你有所帮助! 步: 1,选择矩形盒子工具;在文档中画一个矩形; 2,选择单行盒选择工具; 3,按住Alt键;这是选区相减的快捷键,并绘制单行选择。 4。…

在HTML中详细解释字幕属性

在HTML中详细解释字幕属性

字幕,属性,解释,详细,电脑软件,这个标签是不属于html3.2,只支持msie3后核。因此,如果使用非IE内核浏览器(如Netscape),您可能不会看到以下有趣的结果。 标签是容器标签。 Grammar: 下面是最简单的例子之一: 代码如下: 你好,世界 以下两个事件经…

通过在Windows5.7.9winx64MySQL安

通过在Windows5.7.9winx64MySQL安

安装,电脑软件,winx64MySQL,当mysql5.7.9版本上安装Windows,不会有问题的启动但没有错误报告。这是因为5.7.9以上的版本将在MySQL目录缺乏数据目录。 在数据目录中存储了一些表文件,用于描述数据和结构。数据目录不能自己构建。它必须自动生…

安装MySQL5.7.17在Windows10下简单

安装MySQL5.7.17在Windows10下简单

安装,简单,笔记,电脑软件,以前Linux已经用过mysql,安装也很简单,今天,试着安装在windows下,发现里面确实有个坑。 记录安装过程是很好的。 1。首先,我们必须去MySQL官方网络下载我们需要的资源,选择下载>社区,这时你可以看到MySQL社区服务器。 …

一个键取消Excel中的多个操作

一个键取消Excel中的多个操作

操作,取消,多个,电脑软件,Excel,在连续运行,你需要返回到操作的初始状态,如果你不保持下来,显然是不必要的;如果单击开始工具栏按钮,或撤消;连续按Ctrl + z集团债券被撤回,那就更麻烦了。一个关键的撤销可以通过以下方法实现: 单击工具栏上的取消,,…

js不要求在页面跳过时跳转地址。

js不要求在页面跳过时跳转地址。

地址,跳转,跳过,页面,电脑软件,事实上,我想表达的是,JS,当window.location.href控制页面跳转,有时跳到缓存的页面,并不是真的要来跳,结果在页面数据加载失败,刷新时间。 直接进入代码… uff1a结算条款 从HTML中隐藏并从JS调用来请求链接地址 $…