摘要:
多版本并发控制:读取数据时通过一种类似快照的方式将数据保存下来,这样读锁就和写锁不冲突了,不同事务会话看到自己特定版本的数据,使用版本链。 MVCC只在READ COMMITTED 和 REPEATABLE READ 两个隔离级别下工作。其他两个隔离级别和MVCC不兼容,因为READ UNCOMMI 阅读全文
摘要:
A 原子性 由undo log日志保证,它记录了需要回滚的日志信息,事务回滚是撤销已经成功执行的sql C 一致性 由其他三大特性保证、程序代码要保证业务上的一致性 I 隔离性 由MVCC来保证 D 持久性 由内存+redo log来保证,mysql修改数据同时在内存和redo log记录这次操作, 阅读全文
摘要:
什么是Mysql执行计划 执行计划是Mysql如何执行一条sql语句,包括sql查询顺序、是否使用索引、索引信息、查询命中率等信息。 基本语法 explain select ... InnoDb引擎的执行计划内容 id:由一组数字组成,表示一个查询中各个子查询的执行顺序; id相同执行顺序由上之下 阅读全文
摘要:
在业务系统中,除了使用主键进行查询,其他的都会在测试库上测试其耗时。 慢查询的优化首先要搞明白慢的原因是什么?是查询条件没有命中索引?是load了不需要的数据列?还是数据量太大? 所以优化也是针对这三个方向来的: 首先分析语句,看看是否load了额外的数据列,可能是查询了多余的行并且抛弃掉了(使用s 阅读全文