栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

Mysql学习第一课 基础信息

Java 更新时间:发布时间: 百科书网 趣学号

说明:1.mysql8.0之后查询缓存已经删除,不再考虑
2.mysql5.5之后默认引擎为innodb,myisam基本不再使用
3.存储引擎:不同的数据文件在磁盘的不同组织形式
xx.frm:表结构数据(mysql8.0已取消)
xx.ibd:innodb, 表实际数据文件+数据索引文件,mysql8.0之后增加序列化字典信息(Serialized Dictionary Information,SDI),SDI被写在.ibd文件内部,它是数据字典包含的信息的一个冗余副本,作用类似于frm文件(表结构)
xx.MYD:myisam 表实际数据
xx.MYI :myisam 数据索引文件

局部性原理:mysql会根据局部性原理进行磁盘预读。
时间局部性:被访问过的数据,很可能被再次访问
空间局部性:数据与程序有聚集成群的倾向,我们希望将具备同一特性的数据放在同一空间,
磁盘预读:磁盘与内存进行数据交互时最小的逻辑单位称之为页,datapage,大小4kb 或8kb,与操作系统有关系,innodb默认16kb,大小可以修改,sql查看命令: show variables like ‘innodb_page_size’

索引:索引是存放在磁盘中的(防止断电导致内存消失),每次mysql启动会将索引分块加载到内存中。索引数据以K-V格式存储,key:索引字段的真实值。 value:整行数据(存储位置,地址,偏移量)

扩展信息:

存储引擎常用类型
innodb:数据结构B+树,也支持自适应hash
myisam:数据结构B+树
memory:数据结构hash索引

hash索引问题:
1.需要好的hash算法保证散列足够均匀,否则1.存储空间浪费,2产生hash冲突(hash碰撞)
2.hash表无序,在范围查询时需要逐个遍历,效率低
3.hash表不适于分块读取,所有数据放在内存中需要占用大量内存空间

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/1032870.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号