高性能MySQL学习笔记
joeyhh
技术略渣
展开
-
高性能Mysql学习笔记之第一章
幻读:所谓幻读,指的是当某个事务在读取某个范围内的记录时,另外一个事务又在该范围内插入了新的记录,当之前的事务再次读取该范围的记录时,会产生幻行。InnoDb通过多版本并发控制解决了幻读的。脏读:事务可以读取未提交的数据,这也被称为脏读。MVVC:可以认为MVVC是行级锁的一个变种,但是它在很多情况下避免了加锁操作,因此开销更低。虽然实现机制有所不同,但大都实现了非阻塞的读操作,写操作也只原创 2017-12-21 11:27:29 · 148 阅读 · 0 评论 -
第四章Schema与数据类型优化
不管存储哪种类型的数据,下面几个简单的原则都有助于做出更好的选择:尽量避免使用NULL:如果查询中包含可为NULL的列,对MySQL来说更难优化,因为可为NULL的列使得索引、索引统计和值比较都更为复杂。可为NULL的列会使用更多的存储空间,在MySQL里也需要特殊处理。当可为NULL的列被索引时,每个索引记录需要一个额外的字节,在MyISAM里甚至还可能导致固定大小的索引变成可变大小的索引。原创 2017-12-21 15:36:54 · 161 阅读 · 0 评论