MySQL从使用到进阶
1.关系型数据库中的佼佼者
MySQL作为众多的关系型数据库中的一员,其具有服务轻量级,服务易于搭建和维护。提供多种客户端连接语言的数据库服务器。
2.MySQL数据库服务器
3. MySQL 数据库服务器的优化方案
由于MySQL 数据库具有读写锁的特性。在高并发的情况下,同时对一条数据进行读写操作,性能会很低。
优化方案:主从复制,实现读写的分离。
4. MySQL 数据库的创建
数据库的创建一般:注意创建数据库的编码格式即可。
注意事项:
- 分库中,保持数据操作的事务。持久化到不同数据库中数据的事务(了解)。
- 数据量大的时候,实现分库的方案。
5.Mysql 数据表的创建
-
表名称创建,遵循命名规范。表的设计遵循三范式。数据库三范式
-
表中字段的设计:
字段类型主要分为以下几种: (1)字符类型 varchar,char varchar(20)可以存储多少汉字 (2)数字类型: 整数类型,小数类型,精确的数据类型 decimal int(11)含义 (3)时间类型:Date,时间戳
6. Mysql 索引(重点)
索引的原理:
索引的优缺点:所有的软件设计中,有优点就一定会有缺陷
6.1 索引的种类
-
单列索引:主键索引,唯一键索引,普通索引
主键索引和主键索引的区别: 1.主键索引只能有一个,唯一键索引可以有多个 2.主键索引不能为null,唯一键索引可以有多个null 值
-
组合索引:联合索引
联合索引创建的原则:最左匹配原则(重点)
-
全文索引:myisam存储引擎中特有的索引类型(了解)
-
聚集索引(重点)
-
非聚集索引
6.2 索引的原理 B+ tree
1.树数据结构详解
二叉树,二叉查找树,平衡二叉查找树,AVL 树,红黑树,B 树
B+树
注意,平衡二叉树属于平衡树,不属于B树
B 树:非叶子节点 孩子节点为M M>2 不是等于2
B+ 属于多路查找的平衡树
2.数据库索引文章
3.索引原理
6.3 索引使用事项
- 索引创建的原则:
- 慢查询优化,mysql索引失效
7. Mysql 存储引擎
MySQL主要的存储引擎主要分为:innodb,myisam
- 索引类型不同:innodb默认采用的聚集索引,索引和数据存储到同一个文件中。myisam 采用的是非聚集索引,索引文件和数据文件分开存储。
- innodb支持外键,myisam不支持。
- innodb支持事务,myisam不支持。
- innobd默认采用行锁,myisam 默认表锁。
- myisam 支持全文检索。
8.Mysql 中的事务(重点)
8.1 事务特性:ACID
- 原子性
- 一致性
- 隔离性
- 持久性
8.2 并发访问出现的问题
- 脏读
- 不可重复读
- 幻读
8.3 事务的隔离级别
- 读未提交
- 读已提交
- 可重复读
- 串行化