最近优化了VoltDB的Truncate table SQL语句,并且已经把代码融合进VoltDB4.0版本了,下张图是我做的和VoltDB3.7版本的性能对比。
因为VoltDB是支持Transaction事务处理的,我进行了Commit和Abort两种情况的性能对比。Commit测试中,Stored procedure里就是一句SQL “Truncate table R”, Undo测试中,又加了一句Insert SQL,故意促发Constraint violation,导致整个stored procedure失败。从图中可看出,VoltDB4.0删除8000行数据,索引,物化视图等与表相关的东西,只需要236微秒,相当于0.000236秒,要知道这可是线性增长的啊。
虽然VoltDB3.7版本中的Truncate table看起来慢了好多,但是删除8000行数据,索引,物化视图等与表相关的东西,也仅仅要0.031601秒。这个成绩是不是可以秒杀其他流行的数据库了呢?有谁知道比这个还快的Truncate table呢?