为啥 lealone 更新单行记录的性能这么好?只需要遍历一次 btree,拿到记录后通过 CAS 加行锁,替换新值,然后标记记录所在的 btree page 为脏页即可。而 h2 至少要遍历3次 btree,如果并发高了,还可能需要对 btree 加全局锁。sqlite 的实现我不是很清楚,所有类型的并发写都很弱,insert 更慢。

@zhh-4096

继续优化 lealone 8.0 在嵌入式场景下的性能,16个并发,按主键随机更新单行记录,lealone 比 h2 快8倍,比 sqlite 快20倍。 ​​​

Reply to this note

Please Login to reply.

Discussion

No replies yet.