一、MySql架构
1、连接层
是一些客户端和连接服务,包含本地sock通信和大多数基于客户端/服务端工具实现的类似于tcp/ip的通信。负责与客户端和程序建立连接,认证…
2、服务层
主要完成核心服务功能,sql接口,完成缓存的查询;sql的分析和优化及部分内置函数执行。也会解析查询并创建内部解析树,并完成响应的优化,确定查询表的顺序,是否用索引。查询内部缓存,在读环境中提供系统性能。sql连接 ,解析器 , 查询优化器 ,缓存
3、引擎层
负责与数据文件系统连接,读、写数据
4、物理文件存储
负责存储表数据,日志文件(非常重要,mysql事务实现就是依赖于日志的)。
DBA database admin 数据库管理员
二、Mysql引擎
1、引擎是什么?
引擎是数据库中具体与文件进行交互的技术,不同的引擎实现方式有区别的。每张表都有对应的引擎进行处理。
2、mysql中MyiSam引擎和Innodb引擎的区别?
-
MyiSam 不支持事务 查询多 ,不支持事务,不支持外键,不支持行锁,支持表锁,支持全文索引,存储表的总行数。select count(*) from admin 直接获取到总行数即可 ,速度快。
-
Innodb 支持事务 增删改多,支持事务,支持外键,表锁,行锁,支持缓存,支持全文索引,支持主键自增,适合于处理增、删、改,比较多的场景,不存储总行数。select count(*) from admin 字行统计计算 ,速度慢。
3、mysql中常见的引擎?
- MyIsam , 2. InnoDB, 3. Memory, 4. Blackhole, 5. CSV,6. Performance_Schema, 7. Archive, 8. Federated , 9 Mrg_Myisam
4、数据库支持的引擎语句
-
查看支持的引擎
SHOW ENGINES;
-
查看表引擎
SHOW TABLE STATUS LIKE '表名'