Category Archives: MySQL

MySQL查询缓存与Innodb引擎的自适应哈希索引

MySQL与引擎之间更像是两套体系,相互之间协同提供更好的数据服务,查询缓存是MySQL在8.0版本之前提供的一个特性,当客户端与数据库连接完毕,需要执行查询语句时,查询缓存就会发挥作用,MySQL会将查询语句进行对比,如果之前执行过该语句,执行语句和执行结果会以键值对的形式被直接缓存到内存里,因为使用查询语句作为key,MySQL可以用语句来查询对应的key,在缓存中找到的话,就可以将key对应value的值返回给客户端,少去了后来再通过分析器,优化器,执行器,引擎等各个阶段复杂的处理。

我由幻读而明白了数据库事务

innodb更加完美的解决了幻象问题,在默认情况下设置为REPEATABLE-READ的隔离级别即可,事务级别越低涉及到的锁越少,虽然REPEATABLE-READ级别会将Record Lock升级为Next-key lock锁,但并不会比READ-COMMITTED级别有性能损耗。