• 欢迎来到我的博客
  • [email protected]

标签:索引

学习笔记

Mysql:hash 索引

Mysql:hash 索引
引言 不同的引擎对于索引有不同的支持:Innodb和MyISAM默认的索引是Btree索引;而Mermory默认的索引是Hash索引。 hash 索引的优点 所谓Hash索引,当我们要给某张表某列增加索引时,将这张表的这一列进行哈希算法计算,得到哈希值,排序在哈希数组上。所以Hash索引可以一次定位,其效率很高,而Btree索引需要经过多次的磁盘IO,但是i……继续阅读 »

tianlan 7个月前 (04-19) 190浏览 0评论 0个赞

学习笔记

mysql 联合索引数据结构示意图,最左前缀原理

mysql 联合索引数据结构示意图,最左前缀原理
联合索引示意图 最左前缀原理 通过上图我们可以发现,联合索引和单列索引差不多,只不过联合索引存储的关键字包含了多个列。 最左前缀原理:联合索引的排序是有优先级的,越在左边的列,优先级越高,如上图所示: 会优先按照数字排序,在数字相等时,会根据字母进行排序。 ……继续阅读 »

tianlan 8个月前 (04-17) 153浏览 0评论 0个赞

学习笔记

几种常见的索引

几种常见的索引
聚集索引 指索引项的排序方式和表中数据记录排序方式一致的索引 也就是说聚集索引的顺序就是数据的物理存储顺序。它会根据聚集索引键的顺序来存储表中的数据,即对表的数据按索引键的顺序进行排序,然后重新存储到磁盘上。因为数据在物理存放时只能有一种排列方式,所以一个表只能有一个聚集索引。 比如字典中,用‘拼音’查汉字,就是聚集索引。因为正文中字都是按照拼音排序的。而……继续阅读 »

tianlan 8个月前 (04-16) 168浏览 0评论 0个赞

学习笔记

mysql数据库-MyISAM与InnoDB两个存储引擎的索引实现方式

mysql数据库-MyISAM与InnoDB两个存储引擎的索引实现方式
MyISAM 主键索引(主索引) 辅助索引(Secondary key) 在MyISAM中,主索引和辅助索引(Secondary key)在结构上没有任何区别,只是主索引要求key是唯一的,而辅助索引的key可以重复 InnoDB 主键索引 MyISAM索引文件和数据文件是分离的,索引文件仅保存数据记录的地址。而在InnoDB中,表数据文件本身就是按B+T……继续阅读 »

tianlan 8个月前 (04-16) 178浏览 0评论 1个赞

学习笔记

Mysql 索引原理:B树、B+树、B*树

Mysql 索引原理:B树、B+树、B*树
B树(B-tree) 注意:B-树和B树是同一个东西。 B树和平衡二叉树稍有不同的是,B树属于多叉树又名平衡多路查找树(查找路径不只两个),数据库索引技术里大量使用者B树和B+树的数据结构,让我们来看看他有什么特点。 B树性质 (1)排序方式:所有节点关键字是按递增次序排列,并遵循左小右大原则; (2)子节点数:非叶节点的子节点数>1,且<=M ……继续阅读 »

tianlan 8个月前 (04-14) 181浏览 0评论 0个赞

学习笔记

Mysql 外键

Mysql 外键
引入 外键表示一个表中的字段被另一个表中的一个字段引用。外键对相关表中的数据造成了限制,使MySQL能够保持参照完整性。 比如学生和班级表,学生表完全依赖班级表,我们可以通过外键约束让学生表与班级表产生关联,当班级表数据变化时影响学生表。 父表和子表储存引擎要一致 使用InnoDB引擎支持外键约束 外键更与主表列类型一致 外键列使用索引(数据库会自动添……继续阅读 »

tianlan 8个月前 (04-11) 184浏览 0评论 0个赞

学习笔记

Mysql 索引 & 索引优化

Mysql 索引 & 索引优化
优势 & 劣势 虽然索引大大提高了查询速度,同时却会降低更新表的速度。 索引和约束的区别 约束是为了保证表数据的完整性,索引是为了提高查询效率,两者作用不一样!其次种类也不一样。 Mysql 每次查询最多只会运用一个索引 所以需要合理建立联合索引 尽量扩展索引,而不要新建索引 外键索引可以 nullable 在 Laravel 社区学习的时候 ……继续阅读 »

tianlan 8个月前 (04-11) 177浏览 0评论 0个赞