摘要:公司大佬出的考核题中有个有意思的问题: 已知:MySQL 的内部两阶段提交,是为了解决 binlog 和 redo log 的一致性(在 crash recovery 的过程中, 如果发现某个事务的 redo log 已经完成 prepare 阶段, 但未完成 commit,那么会验证该事务是否在
阅读全文
摘要:思考一个问题:下面一条简单的SQL,它加什么锁? delete from t1 where id = 10; 带着你的答案,我们继续往下看。如果要分析上述SQL的加锁情况,必须了解这个SQL的执行前提,MySQL的隔离级别是什么?id列是不是主键?id列有没有索引?前提不同加锁处理的方式也不同。可能
阅读全文
摘要:在之前的博客中,我写了一系列的文章,比较系统的学习了 MySQL 的事务、隔离级别、加锁流程以及死锁,我自认为对常见 SQL 语句的加锁原理已经掌握的足够了,但看到热心网友在评论中提出的一个问题,我还是彻底被问蒙了。他的问题是这样的:加了插入意向锁后,插入数据之前,此时执行了 select…lock
阅读全文
摘要:-- 批量批改sequence cache SELECT 'alter sequence ' || SEQUENCE_OWNER || '.' || SEQUENCE_NAME || ' cache 1000;' INC_SEQ_CMD FROM DBA_SEQUENCES WHERE LAST_N
阅读全文