并行执行可以在单机内并行,这一点相对于一些开源的单机数据库是有优势的,早期的 MySQL 版本单机内并行是没法做到的,又可以利用多机,如果一台机器 CPU 还不够,我可以把整个集群的 CPU 用起来去做并行执行。串行执行我们就显式地去区分了,它到底是一个大数据量的访问,还是一个小数据量的访问。 如果是一个小数据量的访问,我们会把数据拉到本机来执行;如果是一个大数据量访问,我们会把整个 SQL 的执行计划下压到那台机器上去做数据过滤,整个过程是优化器自适应去选择的。 ▋ 兼顾单机和分布式的事务处理协议以提升事务性能 最后,事务是非常难做分布式优化的,OceanBase 在事务引擎方面有非常多的创新的专利。在这里我介绍两个点,下图是分布式事务执行提交的流程,事务从整体上来看分成“事务开启”和“事务提交”两个关键操作。