数据库存储引擎与三大范式
一、数据库的存储引擎
数据库使用不同的存储技术将数据存储在数据库之中。目前mysql的常用存储引擎为:Myisam和InnoDB两种。
1.存储引擎是数据库的组件之一,负责为数据库执行I/O(input/output)操作。加快数据的读写。
2.数据在存入数据库之前会传输到存储引擎,在按照存储的格式进行存储。
二、Myisam存储引擎
Myisam存储引擎是mysql5.5版本之前的默认存储引擎。其特点就是:
1)读取数据的速度特别快。
2)不占用大量的内存和存储资源。
3)可以缓存索引,提高访问能力。
缺点:
1)不支持事务。
2)处理并发能力不够。
3)Myisam在读写过程互相阻塞。
Myisam 存储引擎使用的场景:
1)公司单方面读取数据的业务较多。
2)读写并发访问相对较低的业务。
3)服务器硬件资源相对较差。
4)对数据业务一致性要求不高的业务。
5)读写频繁的场合不适合。
三、InnoDB存储引擎
InnoDB在mysql5.5版本之后支持全文索引支持外键约束。InnoDB的主要特点有:
1)可以支持事务。
2)处理并发能力好。
3)可以处理数据频繁更新的场景。
4)对计算机设备配置要求较高。
5)主要是行锁定。
四、存储引擎配置
#查看表的存储引擎
show cretae table 表名;
#对已经存在的表修改其存储引擎
alter table 表名 engine=引擎名称;
#创建新表时定义存储引擎
create table 表名 (字段 ) engine=引擎名;
#修改主配置文件时加入默认存储引擎
五、数据库的三大范式
数据库中的数据种类繁多,为了方便管理必须遵守相对应的规则。一般情况下,使用一下三个范式就已经够用了。
范式规则一:每个字段不可再分,属性不可再分。
范式规则二:每张表中都必须有主键。
凡事规则三:一张表中的外键是另一张有关系的表里的主键。