innodb存储引擎了解

发布时间 2023-11-12 16:39:03作者: 天启A

mysql常用的存储引擎分为innodb和myisam

其中innodb具有支持事务,执行行级锁,支持MVCC,外键,自动增长列,崩溃恢复等特性。并且mysql在5.5.5之后是数据的默认存储引擎

文件:

mysql的数据都存放的data文件中,其中日志文件包括 错误日志,慢查询日志,查询日志还有二进制日志

慢查询日志默认时间为10秒,且慢查询设置为大于自定义时间。

二进制日志主要用于恢复,复制和审计

表:

表都是按主键顺序组织存放的,这种存储方式的表称为索引组织表。如果创表时没有显式标注主键,innodb会按下面,但是当发生第二种情况的时候,_rowid是查询不到的,注意_rowid只能查询单主键的情况

 约束和索引的区别:约束是一种逻辑概念,保证数据的完整性;索引是一个数据结构,既有逻辑上的概念,在数据库中还代表着物理存储的方式

一个enum约束的小栗子

create table test(
id int,
sex enum('nan','nv')
);

INSERT INTO test VALUES(1,1)
INSERT INTO test VALUES(1,'nan')