mysql分区表使用总结:
当数据量非常大时(表的容量达到GB/TB),如果仍然采用索引方式优化查询,由于索引本身的消耗以及大量的索引碎片的产生,查询过程会导致大量的随机IO产生,在这种情况下除非可以很好的利用覆盖索引,否则由于在查询过程中需要索引回数据表查询,会导致性能受到很大影响。这时可以通过分区表策略来提高查询性能。
分区类型:range、list、hash、key
innodb的锁:record lock ,gap lock , next-key lock
http://blog.csdn.net/cug_jiang126com/article/details/50596729#t0
record lock:
单条索引记录上加锁,record lock锁住的永远是索引,而非记录本身,即使该表上没有任何索引,那么innodb会在后台创建一个隐藏的聚集主键索引,那么锁住的就是这个隐藏的聚集主键索引。所以说当一条sql没有走任何索引时,那么将会在每一条聚集索引后面加X锁,这个类似于表锁,但原理上和表锁应该是完全不同的。
gap lock:
在索引记录之间的间隙中加锁,或者是在某一条索引记录之前或者之后加锁,并不包括该索引记录本身。gap lock的机制主要是解决可重复读模式下的幻读问题,关于幻读的演示和gap锁如何解决了幻读。关于这一块,先给出几个定义
数据库崩溃恢复原理介绍: