Oracle 19C 新特性之自动索引(Automatic Indexing)测试-Part.2

接上一篇的特性可行性测试后,想着如果这个特性可以接入客户的生产系统进行测试,那将非常好的验证这个特性是否好用,但是19c毕竟太新,客户是不会同意跑生产的。想到客户做新系统上线的时候,压力测试一般会选择swingbench来做。所以本次测试,用swingbench来验证一下这个特性。

swingbench在生成数据的时候,除了生成表数据之外,还会创建索引。如果在生成数据的时候,只生成数据和表的PK,而不生成表的其他索引,这种情况下跑一下swingbench的DML和DQL测试,然后打开数据库的automatic indexing特性,再跑一下压力测试,观察一段时间后,是否会自动生成索引,对比两次结果。我想,是有一点说服力的。

为了简单测试,只生成了1G的数据。4个并发用户,其他参数默认。

生成数据之后,SOE用户下一共有9个索引:

开始压测一段时间后,TPM如下:

可以看到,TPM大概2200到2300左右。一笔记本虚拟机跑出来这个成绩不错了。

然后打开数据库的Aoto indexing特性:

之后,继续压测:

对比明显

在数据库开始进行分析和创建索引的时候,这上升的曲线让人感动。

查看索引情况:

可以看到,Automatic indexing为SOE用户创建了8个索引,最终TMP大概在8400到8600之间, 对比之前,可以看到有三到四倍的性能提升。

虽然看起来不是及时上百倍的提升,但是实际上在这么小的模型下有这个成绩已经非常厉害了,主要是根本不用DBA去思考怎么创建索引。

DBA的价值,以后会越来越体现在极端场景下的优化了,可能是10%?1%?

发表评论