连接器(Connectors)就是类似JDBC这种数据库接口层
连接池 数据库内置用来和客户端构建连接的工具
SQL接口层:用来接收客户端发过来的sql语句。
分析器: 将sql 拆解为数据库能够读懂的程序片段
优化器: 选择更快的索引以最小的内存,最小CPU的消耗执行sql语句。
缓存:将数据存在内存中。
存储引擎:提供不同的存储机制、索引技巧、锁定水平、的程序组件。
常见的4个存储引擎:
MyISAM、Memory、InnoDB、Archive各自不同的特点。
InnoDB 存储引擎
InnoDB 是事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键,上图也看到了,InnoDB是默认的MySQL 引擎。1、提供了具有提交、回滚、和崩溃恢复能力的事物安全存储引擎。且mysql可以为每一张表单独设置自己的存储引擎。2、InnoDB是为存储巨大大数据量的最大性能设计。他的CPU效率可能是任何其他基于磁盘的关系型数据库引擎不能匹敌的。3、InnoDB存储引擎完全与Mysql服务器整合,将他的表和索引在一个逻辑空间。4、InnoDB支持外键完整性约束,存储表中的数据时,每张表的存储都是按主键顺序存放,如果没有显示在表定义时指定主键,InnoDB会为每一行生成一个6字节的ROWID,并以此作为主键。5、InnoDB被用在众多需要高性能的大型数据库站点上。
MyISAM 存储引擎
拥有较高的插入、查询熟读、但不支持事物。1、在支持大文件的文件系统和操作系统被支持。2、当把删除和更新及插入混合使用的时候,动态尺寸的行产生更少碎片。3、BLOB和TEXT列可以被索引。
MEMORY 存储引擎
MEMORY 存储引擎将表中的数据存储到内存中,未查询和应用其他表数据提供快速访问。MEMORY 主要特性有1、每个表可有多达32索引2、可以有非唯一键值。
查看有哪些可用的索引
show engines
正在使用的索引是啥
show variables like 'storage_engine%';
某个表的索引是什么
show create table info_app;
ALTER TABLE my_table ENGINE=InnoDB -- 修改表的存储引擎
查看mysql中各个线程运行状态
通过命令show ful processlist,展示所有的处理进程,主要包含以下状态,表示服务器处理客户端的状态,状态包含从客户端发起请求到后台服务器处理的过程,包括加锁的过程,统计存储引擎的信息,排列数据,搜索中间表,发送数据,囊括了所有mysql状态。