您的位置:首页 > 数据库 > MySQL

Mysql1体系结构与存储引擎简读

2018-10-09 16:20 169 查看

mysql体系结构

mysql分为mysqlServer层和存储引擎层

Server层

连接层

  • 通讯协议
  • 主要用来检测客户端版本是否兼容服务端
  • 线程处理
  • 一个连接请求都会对应一个线程
  • 用户密码验证
  • 验证用户账号和密码连接mysql服务器

sql层

  • 权限判断
  • 判断用户是否有权访问某个库某个表
  • 查询缓存
  • 解析器
  • 对sql进行解析,判断语法是否正确
  • 预处理
  • 对上面解析不了的进行预处理操作
  • 查询优化器
  • 对查询语句进行优化
  • 执行计划

存储引擎层

InnoDB体系结构

InnoDB存储结构

表空间

系统表空间存储(ibdata1)

存储结构的所有数据信息和回滚信息自动扩展大小 64M 默认大小是10m 查看自动扩展大小

[code]show variables like '%auto%';

查看默认大小

[code]show variables like '%innodb_data%'

独立表空间

  • 每个表都有自己的表空间文件 效率性能更高。

组成表空间,一个表可一个理解为一个段,一个表有四个段,是索引个数的2倍

组成段,由连续页组成,大小固定为 1m

最小存储单位 默认 16k

InnoDB内存结构

查看内存参数分配

[code]show variables like '%buffer%';

系统全局区

innodb_buffer_pool

  • 缓存innodb表的数据,索引等信息

innodb_log_buffer

  • 事务的缓存

key_ buffer_size

  • 只用于MyISAM

程序缓存区

join_buffer_size

  • 表连接

read_buffer_size

  • 表顺序扫描的缓存

InnoDB特性

1插入缓冲

提高普通索引的插入性能

2两次写

保证写入的安全

3自适应哈希索引

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: