MySql数据库相关知识点总结

一、索引

1、MySql索引数据结构分类

MySQL索引使用的数据结构主要有BTree索引 和 哈希索引

1.1、哈希索引

  对于哈希索引来说,底层的数据结构就是哈希表,因此在绝大多数需求为单条记录查询的时候,可以选择哈希索引,查询性能最快;其余大部分场景,建议选择BTree索引

1.2、BTree索引

  MYISAM和InnoDB两种存储引擎实现Btree索引的方式不同

  MYISAM存储引擎B+Tree叶节点的data域存放的是数据记录的地址,在索引检索检索key的时候,会先拿到data域的值,然后以data域的值为地址再读取相应的数据记录,数据文件

  和索引文件是分离的,被称为非聚簇索引

  InnoDB存储引擎数据文件和索引文件是同一个文件,树的叶子节点data域保存了完整的数据记录,这个索引的key是数据表的主键,这种索引被称为聚簇索引。InnoDB中的其他索引

  如唯一索引、普通索引都被称之为辅助索引或二级索引,辅助索引的data域存储相应记录主键的值而不是完整的数据记录,在根据辅助索引查找时,则需要先取出主键的值,在走一

  遍主索引

猜你喜欢

转载自www.cnblogs.com/audience7510/p/12737241.html