//Mysql四种隔离级别
隔离级别 脏读 不可重复读 幻读
Read uncommitted(读未提交) 是 是 是
Read committed(读已提交) 否 是 是
Repeatable read(可重复读) 否 否 是
Serializable(串行读) 否 否 否
读未提交(READ UNCOMMITTED):未提交读隔离级别也叫读脏,就是事务可以读取其它事务未提交的数据
读已提交(READ COMMITTED):在其它数据库系统比如 SQL Server 默认的隔离级别就是提交读
可重复读(REPEATABLE READ):保证同一个事务中的多次相同的查询的结果是一致的,比如一个事务一开始查询了一条记录然后过了几秒钟又执行了相同的查询,保证两次查询的结果是相同的
可串行化(SERIALIZABLE):可串行化就是保证读取的范围内没有新的数据插入,比如事务第一次查询得到某个范围的数据,第二次查询也同样得到了相同范围的数据,中间没有新的数据插入到该范围中
//Mysql优化
使用 JOIN 时候,应该用小的结果驱动大的结果(left join 左边表结果尽量小如果有条件应该放到左边先处理,right join 同理反向)
limit 的基数比较大时使用 between
尽量避免在列上做运算,这样导致索引失效