本文内容多选自网络(百度百科及其它博主) 在看索引之前,听说这个超难,又是聚簇索引、又是唯一索引、还有普通索引……其实看下来,感觉索引定义乱七八糟的原因,纯粹是外国的东西来到中国之后,语义产生的偏差和个人不同的理解。 索引 撇开别的不谈,只看索引,英文名是Index,Index通常用于存放数据的位置 ...
分类:
数据库 时间:
2018-06-05 19:57:35
阅读次数:
325
二级索引(Secondary Index,也称辅助索引或非聚簇索引),叶子节点并不包含行记录的全部数据。叶子节点除了包含键值以外,每个叶子节点中的索引行中还包含了一个书签(bookmark)。该书签用来告诉InnoDB存储引擎哪里可以找到与索引相对应的行数据。由于InnoDB存储引擎表是索引组织表, ...
分类:
其他好文 时间:
2018-05-28 22:44:15
阅读次数:
208
一.根据案例二:不同索引加锁顺序的问题,模拟重现死锁(详细操作步骤) 1.RR级别下,更新操作默认会加行级锁,行级锁会对索引加锁 2.如果更新语句使用多个索引,行级锁会先锁定普通索引,再锁定聚簇索引 3.如果两个SQL用到了不同的普通索引,或者一个用了,另外一个没用 4.会导致这两个SQL加行级锁的 ...
分类:
数据库 时间:
2018-05-23 02:04:31
阅读次数:
238
一、定义: 聚簇索引也叫簇类索引,是一种对磁盘上实际数据重新组织以按指定的一个或多个列的值排序。由于聚簇索引的索引页面指针指向数据页面,所以使用聚簇索引查找数据几乎总是比使用非聚簇索引快。每张表只能建一个聚簇索引,并且建聚簇索引需要至少相当该表120%的附加空间,以存放该表的副本和索引中间页。 非聚 ...
分类:
数据库 时间:
2018-05-21 16:13:29
阅读次数:
264
今天我们来聊一聊关于 聚簇索引和非聚簇索引的问题; 刚开始学数据库SQL的时候,就知道有主键啊(Primary key),外键啊(Foreign key)啥的,连个表查询就已经不清楚是要on 那几个字段了,在数据量不太大的情况下,根本不会考虑索引的问题了,然后,随着大数据时代的到来,数据量大了,没有 ...
分类:
数据库 时间:
2018-05-06 18:51:57
阅读次数:
189
聚集索引(InnoDB,使用B+Tree作为索引结构)在一个结构中保存了b-tree索引和数据行;按照主键的顺序存储在叶子页上;主键索引:叶节点存储(主键数据:所有剩余列数据)二级索引(非聚簇索引):叶节点存储(索引列数据:主键数据)非叶节点只存储 索引列优点:可以把相关数据保存在一起,如根据用户id聚集电子邮箱信息,只需要读取少数的数据页就能获取某个id用户的全部邮件;数据访问更快,将索引和数据
分类:
数据库 时间:
2018-04-30 22:19:57
阅读次数:
337
MySQL 加锁处理分析 http://hedengcheng.com/?p=771 MySQL 加锁处理分析 1 背景 1 1.1 MVCC:Snapshot Read vs Current Read 2 1.2 Cluster Index:聚簇索引 3 1.3 2PL:Two-Phase Loc ...
分类:
数据库 时间:
2018-04-27 18:03:16
阅读次数:
242
上一篇回顾: 1.一个索引对应一颗B+树,所有的真实记录都是存在叶子节点里面的,所有的项目录都存在内节点或者说根节点上。 2.innodb会为我们的表格主键添加一个聚簇索引,如果没有主键的话数据库是会为我们自动添加row_id这一列的。聚簇索引的叶子节点包含完整的用户记录。 3.我们是可以为自己感兴 ...
分类:
数据库 时间:
2018-04-25 18:54:58
阅读次数:
248
首先明白两句话: innodb的次索引指向对主键的引用 (聚簇索引) myisam的次索引和主索引 都指向物理行 (非聚簇索引) 聚簇索引是对磁盘上实际数据重新组织以按指定的一个或多个列的值排序的算法。特点是存储数据的顺序和索引顺序一致。一般情况下主键会默认创建聚簇索引,且一张表只允许存在一个聚簇索 ...
分类:
数据库 时间:
2018-03-17 21:42:27
阅读次数:
334
1.什么是约束?限制字段可以取什么值官方:约束是保证数据完整性的机制2.常见的约束 主键约束 默认创建聚集索引 (聚簇索引) 拼音检索 唯一约束 默认创建非聚集索引 部首检索 非空约束 设计表,字段后写的null与not null 检查约束 限定某个字段的表达式 默认约束 如果不给取值就使用默认值, ...
分类:
其他好文 时间:
2017-12-31 22:33:20
阅读次数:
224