1.什么是索引 索引是一种数据结构,会对添加索引的字段的值进行排序存放,提高查询效率;一张表中可以添加多个索引;innodb存储引擎默认使用的是b+tree索引结构,也支持哈希、全文索引。 2.索引的优缺点 2.1索引的优点 ①提高数据库查询效率 ②减少锁等待和死锁的产生(行锁是基于索引创建的) ③ ...
分类:
数据库 时间:
2021-06-25 16:54:27
阅读次数:
0
1. myisam 和 innodb 的区别 事务方面 innodb 支持事务,myisam 不支持事务 外键方面 innodb 支持外键,而 myisam 不支持。对一个包含外键的 innodb 表转为 myisam 会失败。 索引层面 innodb 是聚簇索引,myisam 是非聚簇索引 myi ...
分类:
数据库 时间:
2020-12-31 12:22:08
阅读次数:
0
索引的的创建跟存储的引擎是挂钩的,存储引擎表示不同数据在不同磁盘的不同组织形式。 聚簇索引与非聚簇索引:取决于数据与索引是否是放在一起的。 例如InnoDb就是只能有一个聚簇索引但可以有很多非聚簇索引(向InnoDb插入数据的时候必须要包含一个索引的key值,而且你创建表的时候如果不设置索引,索引的 ...
分类:
数据库 时间:
2020-12-04 11:22:20
阅读次数:
28
该文主要收录一些关于数据库系统的文章链接,以及一些知识点整理,不定期添加内容 1.聚簇索引和非聚簇索引(通俗易懂 言简意赅)【Author:jiawen010】 2.无法对表创建多个聚集索引。请在创建新聚集索引前删除现有的聚集索引的问题【Author:HZ_Fang】 3.SQL Server 用角 ...
分类:
数据库 时间:
2020-10-21 20:40:34
阅读次数:
28
聚簇(或者叫做聚集,cluster)索引和非聚簇索引。 字典的拼音目录就是聚簇(cluster)索引,笔画目录就是非聚簇索引。这样查询“G到M的汉字”就非常快,而查询“6划到8划的字”则慢。聚簇索引是一种特殊索引,它使数据按照索引的排序顺序存放表中。聚簇索引类似于字典,即所有词条在字典中都以字母顺序 ...
分类:
数据库 时间:
2020-10-07 20:30:29
阅读次数:
49
覆盖索引概念: MySQL可以利用索引返回select列表中的字段值(就是索引值)。而不必根据主键再次读取聚簇索引数据文件查到数据,也就是平时所说的不需要回表操作。覆盖索引其实是索引覆盖的意思,索引字段就已经囊括select查询的字段,即索引字段覆盖了需查询的字段。 可以看一个例子 举个栗子,假如有 ...
分类:
数据库 时间:
2020-08-02 22:19:31
阅读次数:
108
参考图书:《高性能MYSQL》 1.数据库索引的特点 1.1 索引的有效范围 因为索引一般使用BTree做数据存储结构,索引查询的有效范围为: 1.全值匹配; 2.匹配最左前缀; 3.匹配列前缀 4.匹配范围值; 5.精确匹配一列并范围匹配另外一列; 6.只访问索引的查询; 1.聚簇索引 和非聚簇索 ...
分类:
数据库 时间:
2020-07-03 19:49:25
阅读次数:
75
对于使用InnoDB存储引擎的表来说,它的聚簇索引记录中都包含两个必要的隐藏列: trx_id:每次一个事务对某条聚簇索引记录进行改动时,都会把该事务的事务id赋值给trx_id隐藏列。 roll_pointer:每次对某条聚簇索引记录进行改动时,都会把旧的版本写入到undo日志中,然后这个隐藏列就 ...
分类:
Web程序 时间:
2020-06-29 13:30:24
阅读次数:
84
前言 每个索引都对应一棵B+树,B+树分为好多层,最下边一层是叶子节点,其余的是内节点。所有用户记录都存储再B+树的叶子节点,所有目录项记录都存储在内节点。 InnoDB存储引擎会自动为主键建立聚簇索引,聚簇索引的叶子节点包含完整的用户记录 我们可以根据自己的兴趣建立二级索引,二级索引的叶子节点包含 ...
分类:
数据库 时间:
2020-06-15 20:57:21
阅读次数:
62
按数据结构 B树索引 数据位于叶子节点,到任何一个叶子节点的距离相同,一般不超过3-4层 B+树索引:每个叶子节点除了数据还存放前后叶子节点的指针,方便快速检索,是InnoDB采用的索引结构 Hash索引 Fulltext索引 R树索引 按实现方式 聚集索引(聚簇索引) 叶子节点存放行数据 将索引行 ...
分类:
数据库 时间:
2020-05-23 00:12:43
阅读次数:
77