Mysql讲解目录
提示:本次数据库优化等
目录
一.数据库事务的四大特征
- 原子性:强调事务的不可分割
- 一致性:强调的是事务的执行的前后,数据的完整性要保持一致
- 隔离性:一个事务的执行不应该受到其他事务的干扰
- 持久性:事务一旦结束(提交/回滚)数据就持久保持到了数据库
二.Mysql的优化
- 数据库设计要合理(满足三范式)
第一范式:数据达到原子性,使数据不可再分
第二范式:属性完全依赖主键,必须先满足第一范式,使每一行数据具有唯一性 - 适当添加索引
- 读写分离
三.Mysql的索引
1.什么是索引
建立索引可以加速数据库查询
2.Mysql有哪些索引
普通索引·主键索引·唯一索引·全文索引·多列索引
3.索引失效的条件
- 查询的条件中有or
- 对于多列索引,不是使用的第一部分,则不会使用索引
- like查询使用%开头
- 如果查询列是字符串,那么在条件中必须使用单引号引用起来
- mysql使用全盘扫描比使用索引快的话,索引也是失效的
4.索引的优缺点
优点:
- 建立索引的列可以保证行的唯一性,生成唯一的rowId
- 索引可以有效缩短数据的检索时间,减少I/O次数
- 索引可以加快表与表之间的连接
- 为用来排序和分组的字段建立索引可以加快分组和排序
缺点:
5. 创建索引和维护索引需要时间成本,成本随着数据量增大而加大
6. 创建索引和维护索引需要空间成本,每一条索引都需要占据数据库的物理存储空间,数据量越大,占用空间也越大
7. 会降低表的增删改的效率,每次增删改,索引需要进行动态维护
5.一张表最多可以创建多少个索引
最多16个,每个索引最大长度256字节
6.MySql中的聚合函数
- count(col): 表示求指定列的总行数
- max(col): 表示求指定列的最大值
- min(col): 表示求指定列的最小值
- sum(col): 表示求指定列的和
- avg(col): 表示求指定列的平均值
四.DDL,DML,DCL的区别和理解
DDL (data definition language)数据库结构操作语言
主要有create alter drop
DML (data manipulation language)数据库数据操作语言
主要有Select update delete insert
DCL (data contrl language)数据库控制功能操作语言
主要有grant deny revork
总结
今天就分享到这里,欢迎大家补充,交流。