脏读(读取未提交数据)
A事务读取到B事务没有提交的数据;
不可重复读(前后多次读取,数据内容不一致)
在一个事务中2次读取数据不一致;
幻读(前后多次读取,数据总量不一致)
隔离级别会解决那些问题:
read uncommited: 脏读 不可重复读 幻读
read commited:不可重复读 幻读
repeatable read(MySQL默认):幻读
serializable: 解决以上所有问题;
隔离级别越高,安全性越高,效率越低;
主键索引:创建主键约束,自带主键索引;
唯一索引:创建唯一约束,自带唯一索引;
外键索引:创建外键约束,自带外键索引;
普通索引
组合索引
全文索引(不建议使用,全文检索的数据库采用的索引就是全文索引ElasticSearch
1.在特定的数据库引擎下才有,MyISAM。
2.快速定位数据
)
在一个表中,主键索引只有一个,唯一索引可以有多个
索引设计原则:
1.索引适合于大表,经常变动的表不要加索引;
2.字段如果经常作为查询条件,比较适合创建索引;
3.索引可以提高查询的效率, 但是会降低增删改效率;
4.组合索引生效时机(最左匹配原则)