mysql 的内部结构

连接器(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状态。

引用:数据库—四种存储引擎 - 老人与JAVA - 博客园

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值