Table of Contents
*
隔离性
- 事务只要没提交,里面执行的命令,只能在当前会话看到,别的会话看到还是之前的数据,当commit之后,数据才统一。
持久性
- 事务提交之后,修改的数据就被永久保存了
事务注意点
- 事务只针对表记录操作有效,库和表的操作无效
- 事务一旦提交,对数据库的更改就是永久的
E-R模型(Entry -Relationship)
SQL优化
-
存储引擎优化:
- 1.读操作多
- 2.写操作多
-
索引优化:
- 1.常查看的表建立索引
- 2.常where的表建立索引
- 3.常order by的建立索引
-
SQL语句优化:
- 1.单挑查询最后添加limit 1,停止全表扫描
- 2.where子句中不适用 != ,否则放弃索引,全表扫描
- 3.尽量避免NULL值判断,否则放弃索引,全表扫描,优化方法就是设置default 为 0
- 4.尽量避免or连接条件,否则放弃索引,全表扫描
- 5.模糊查询尽量避免使用前置%,否则全表扫描(“%a%”)
- 6.尽量避免使用in和not in,否和全表扫描
- 7.尽量避免使用select *,*用指定字段替换
4.扩展延伸知识
-
auto_increment自增长
- alter table t1 auto_increment=1000;
-
mysql8.0创建权限
-
mysql数据库执行命令就提交
- show variables like ‘autocommit’
- 事务开启之后 默认关闭autocommit
- oracle默认没有开启
-
mysql union all
- UNION 语句:用于将不同表中相同列中查询的数据展示出来;(不包括重复数据)
- UNION ALL 语句:用于将不同表中相同列中查询的数据展示出来;(包括重复数据)
auto_increment自增长
- alter table t1 auto_increment=1000;
mysql8.0创建权限
mysql数据库执行命令就提交
- show variables like ‘autocommit’
- 事务开启之后 默认关闭autocommit
- oracle默认没有开启
mysql union all
- UNION 语句:用于将不同表中相同列中查询的数据展示出来;(不包括重复数据)