永洪社区

标题: MYSQL技术大全-(3)MySQL数据库 [打印本页]

作者: 曾梦闵    时间: 2024-6-20 15:12
标题: MYSQL技术大全-(3)MySQL数据库
【摘选】MYSQL技术大全-冰河编著,MySQL数据库MySQL数据库是一个开源的数据库管理系统。




3.1 MySQL三大范式
规范开发人员对数据表的设计。


3.1.1 第一范式
确保数据表中每个字段的值必须具有原子性。


3.1.2 第二范式
在第一范式的基础上,确保数据表中除了主键之外的每个字段都必须依赖主键。


3.1.3 第三范式
在第二范式的基础上,确保数据表中的每一列都和主键字段直接相关。


3.1.4 反范式化
如果数据库中的数据量比较大,系统的UV和PV访问频次比较高,按照三大范式设计数据表在读数据时,会产生大量的关联查询,在一定程度上影响数据库的读性能。此时,可以通过在数据表中增加冗余字段来提高数据库的读性能。


3.2 MySQL存储引擎
存储引擎在MySQL底层以组件的形式提供,不同的存储引擎提供的存储机制、索引的存放方式和锁粒度不同。


3.2.1 查看MySQL中的存储引擎
命令:SHOW ENGINES


3.2.2 常用存储引擎
InnoDB、MyISAM、MEMORY、ARCHIVE和CSV。
在MySQL5.6版本后,默认使用InnoDB存储引擎,InnoDB存储引擎支持全文索引


InnoDB:
· 支持事务。
· 锁级别为行锁,比MyISAM存储引擎支持更高的并发。
· 能够通过二进制日志恢复数据。
· 支持外键操作。
· 在索引存储上,索引和数据存储在同一个文件中,默认按照B+Tree组织索引的结构。同时,主键索引的叶子节点存储完整的数据记录,非主键索引的叶子节点存储主键的值。







欢迎光临 永洪社区 (http://club.yonghongtech.com/) Powered by Discuz! X3.4