用照片做的ppt模板下载网站,番禺软件公司,网站建设 上海浦东,中国有多少个网站一、存储引擎
1.1 MyISAM
一张表生成三个文件
xxx.frm#xff1a;存储表结构xxx.MYD#xff1a;存储表数据xxx.MYI#xff1a;存储表索引
索引文件和数据文件是分离的#xff08;非聚集#xff09; select * from t where t.col1 30;
先去t.MYI文件查找30对应的索引…一、存储引擎
1.1 MyISAM
一张表生成三个文件
xxx.frm存储表结构xxx.MYD存储表数据xxx.MYI存储表索引
索引文件和数据文件是分离的非聚集 select * from t where t.col1 30;
先去t.MYI文件查找30对应的索引所在磁盘文件地址去t.MYD文件找出对应磁盘文件地址的数据
1.2 Innodb
一张表生成两个文件
xxx.frm存储表结构xxx.ibd存储索引和数据
索引和数据索引行对应的所有列数据不是分离的聚集 二、索引
索引是帮助MySQL高效获取数据的排好序的数据结构
2.1 索引数据结构
二叉树 红黑树二叉平衡树Hash表
对索引的key进行一次hash计算就可以定位出数据存储的位置
等值查询效率高IN不能排序不能进行范围查询hash冲突问题 B-Tree
节点具有相同的深度叶节点的指针为空
所有索引元素不重复
节点中的数据所有从左到右递增排列
数据有序范围查询 BTreeB-Tree变种
非叶子节点不存储data只存储索引冗余可以放更多的索引
叶子节点包含所有的索引字段
叶子节点用指针双向指针连接提高区间访问的性能
MySQL加载的时候一二层叶子数据冗余索引加载在内存中底层叶子数据存储在磁盘 假设索引大小为bigint8b一个底层叶子节点数据大小1kbMySQL默认叶节点大小16384kb索引指针大小6kb那么一棵BTree可以存储的索引元素(16384/6)*(16384/6)*16 2.2 联合索引