Mysql数据库原理
一连接层介绍:
1、 检查用户与密码正确性,提供一个于SQL层进行交互的线程。
2、 接收SQL层SQL语句于存储引擎层交互找到的数据结构化成表的形式进行返回SQL层(连接层只要有连接不断连接层就会一直有)。
SQL层介绍:
1、 接受SQL语句并且检查语法正确性
2、 检查语义(DDL、DCL、DML、DQL)
3、 使用解释器进行解释语义,并且形成多种执行方式。
4、 优化器,对SQL层输入的语句进行优化
5、 执行器,执行优化器优化的SQL语句进行执行,并且提供一个与存储引擎层交互的线程。
6、 拿到存储引擎层返回的数据
7、 将数据写入缓存
8、 记录日志;
存储引擎层
1、 接受SQL执行的结果。
2、 去除磁盘文件和相应的数据。
3、 返回SQL层,结构化之后并生成表格,有专门的线程返回客户端。
Mysql的结构
1、 数据库
2、 数据表:元数据+真实数据行。
3、 元数据:列+属性(行数+占用大小+权限)
4、 列:列名+数据类型+其他类型(非空、唯一、主键、非负数、自增长、默认值)