Warning: Undefined global variable $debug in /var/www/ourcoders/tiny4cocoa/application/controllers/baseController.php on line 124
zhh-4096 2020-01-04 00:00:00 发布的技术动态 - OurCoders (我们程序员)
zhh-4096
2020-01-04 00:00:00 发布
虽然一边是Java另一边是C++,读过H2数据库的代码再阅读MySQL还是有帮助的,核心的东西还是比较相似: one thread per connection、一个大switch处理所有协议包,SQL parser倒是不一样,一个是手写的递归下降parser,另一个基于yacc生成,优化和执行倒是很相似,不讲什么套路,volcano那种东西滚一边去,咱们走随性的路线。甚至连索引、MVCC都差不多。当然,代码两者也是一锅粥,H2算是MySQL的功能简化版,所以代码实现得没MySQL那么杂乱,只好一点点。

想当初在六七年前重构H2的代码做了maven模块划分时可是脱了一层皮的![笑cry]