存储引擎
1、简介
相当于Linux文件系统,只不过比文件系统功能强大
2、功能了解
数据读写
数据安全和一致性(在宕机情况下也会保证数据不丢失)
提高性能
热备份
自动故障恢复
高可能方面支持
3、存储引擎种类介绍
查看数据库支持的引擎:show engines;
查看当前默认的引擎: select @@delfault_storage_engine;
查看表所使用的引擎: show create table test;
show table status like ‘test’G;
select table_name,engine from information_schema.tables where table_name=’test’;
Innodb存储引擎核心特性
1、修改存储引擎,该命令也可整理碎片
alter table tablename engine=innodb;
2、批量修改存储引擎
select concat(“alter table “,table_schema,”.”,table_name,” engine=’tokudb’ “)from information_schema.tables where table_schema=’stu’;
文件存储
——————————————————————————
ibdata1: 存储undo,表统计信息(元数据)
ibtmp1: 临时表,在做join union操作产生临时数据,用完就自动清理
redo log: ib_logfile0 iblogfile1 重做日志
undo log: ibdata1 ibdata2(存储在共享表空间中),回滚日志
——————————————————————————
Innodb
ibd 数据行,索引
frm 表结构、列属性
ibdata1 存储undo和表统计信息(元数据)
最终结论:
一张Innodb表 = frm + ibd + ibdata1
——————————————————————————
mysiam
myisam引擎文件
frm 存表结构的,列的属性
myd 数据行
myi 索引
——————————————————————————