摘要: 如果在transaction1(Tr1)进行一个select * from table1 where id < 4 lock in share mode.这里会在table1上加一个next_key lock(间隙锁),基本原理是什么呢?大致是这样的,内存中有一个lock hash。是一个key(类似于tableid+pageid+offset)到value(所加的锁)--- 这就是行锁的原理。所以 id<4的话,会给0 1 2 4(假设当前数据库没有3)加上行锁,这样就保证了不会出现插入id=3.5这种事情的发生。+++++++++++++++++++++++++++++++++ 阅读全文
posted @ 2012-07-07 23:52 Jack204 阅读(2020) 评论(0) 推荐(0)
摘要: (分析的过程比分析的结果重要的多)不涉及join的cost计算==================================================================1 数据库中可以提供给我们的可供参考的参数:表:cardinality_table(表有多少条record), npages_table(表有多少页),列:cardinality_column(列中不同值的数目),HIGH2KEY/LOW2KEY(因为最大值可能是null,最小值可能是0),frequencies(某个值在此列中出现的比率比如100个数字,有10个0,那么0的频率是0.1)。索引:nle 阅读全文
posted @ 2012-07-07 23:35 Jack204 阅读(1082) 评论(0) 推荐(0)