1、MySQL常见数据库引擎及比较?
InnoDB:支持事务处理、外键,有崩溃修复能力和并发控制。如果对事务的完整性要求比较高(如银行)或要求实现并发控制(如售票),那InnoDB有很大优势。如果需要频繁的增删改,也可以选择InnoDB,因为它支持事务的提交(commit)和回滚(rollback);
MyISAM:插入数据快,空间和内存使用较低。如果表主要是用于插入新记录和读出记录(如日志记录),那么选择MyISAM能实现处理高效率。如果应用的完整性、并发性要求比较低,也可以使用。
Memory:将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。
注意:同一个数据库也可以使用多种存储引擎的表。如果一个表要求比较高的事务处理,可以选择InnoDB。查询要求比较高的表可选择MyISAM。如果该数据库需要一个用于查询的临时表,可以选择MEMORY存储引擎。
- 简述数据三大范式
第一范式(确保每列保持原子性):
数据表中的每一列(每个字段),必须是不可拆分的最小单元。
第二范式(确保表中的每列都和主键相关):
第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。
第三范式(确保每列都和主键列直接相关,而不是间接相关):
表中每一列只与主键直接相关而不是间接相关(每一列只能依赖于主键)
网友评论