面试常问的MySQL知识点全在这了

MySQL采用的是类似继承的方式指定字符集的默认值,每个数据库以及每张数据表都有自己的默认值,他们逐层继承。比如:某个库中所有表的默认字符集将是该数据库所指定的字符集 

索引

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

MySQL的BTree索引使用的是B数中的B+Tree,但对于主要的两种存储引擎的实现方式是不同的。

  • MyISAM: B+Tree叶节点的data域存放的是数据记录的地址。在索引检索的时候,首先按照B+Tree搜索算法搜索索引,如果指定的Key存在,则取出其 data 域的值,然后以 data 域的值为地址读取相应的数据记录。这被称为“非聚簇索引”。
  • InnoDB: 其数据文件本身就是索引文件。相比MyISAM,索引文件和数据文件是分离的,其表数据文件本身就是按B+Tree组织的一个索引结构,树的叶节点data域保存了完整的数据记录。这个索引的key是数据表的主键,因此InnoDB表数据文件本身就是主索引。这被称为“聚簇索引(或聚集索引)”。而其余的索引都作为辅助索引,辅助索引的data域存储相应记录主键的值而不是地址,这也是和MyISAM不同的地方。在根据主索引搜索时,直接找到key所在的节点即可取出数据;在根据辅助索引查找时,则需要先取出主键的值,再走一遍主索引。 因此,在设计表的时候,不建议使用过长的字段作为主键,也不建议使用非单调的字段作为主键,这样会造成主索引频繁分裂。

                                                               面试常问的MySQL知识点全在这了_第1张图片

第一章 分布式MySQL架构安排 

  • 第一节-分布式MySQL架构课程安排

  • 第二节-MySQL数据库简单介绍

第二章 Linux环境上安装MySQL数据库

  • 第三节-Linux环境安装MySQL环境01

  • 第四节-Linux环境安装MySQL环境02

第三章 MySQL主从复制的原理

  • 第五节-MySQL主从复制应用场景

  • 第六节-MySQL复制二进制同步原理

  • 第七节-MySQL主从复制主节点配置

  • 第八节-MySQL从节点同步主节点配置

  • 第九节-验证MySQL主从复制同步效果

 第一章-全面解密MySQL索引实现原理

  • 第一节-全面解密MySQL索引实现原理

  • 第二节-为什么要使用索引

第二章-MySQL索引底层的数据结构

  • 第三节-数据结构hash算法索引

  • 第四节-数据结构平衡二叉树原理

  • 第五节-平衡二叉树磁盘IO性质

  • 第六节-数据结构B树的实现原理

  • 第七节-数据结构B树与B+树的区别

第三章-Myisam与InnodbB树的使用

  • 第八节-Myisam与Innodb引擎中B+树的区

 需要免费资料可加我QQ1051546329

你可能感兴趣的:(---,Java)