我一直在寻找一些证明,MLPPI会影响插入性能。根据那个link,没有实际说出原因:
MLPPIs-提供了显着改善绩效的机会 某些查询和高容量插入,更新和删除 操作
That article构建了一些有趣的案例,说明如何使用这些索引来改善加载,但它作为证据看起来并不可靠。
另外,我已经进行了自己的调查:
我有1200万的桌子。具有date
类型字段的行,因此我在该日期类型字段上创建了2个新的空表,有或没有分区,但几乎与原始表具有相同的结构,除了分区。然后我将所有这些12毫升插入其中。解释给出完全相同的结果3分钟+。人工尝试通过明确指向日期将所有这些12毫升行插入一个分区并没有改变时间。
所以我的问题是:MLPPI可以提高插页的性能吗?为什么?
答案 0 :(得分:2)
你应该认为这篇文章是可靠的,Paul Sinclair是MLPPI的发布架构师:)
当您插入空表时,您几乎不会注意到是否有分区。实际上,如果源表具有相同的PI并且由于重新排序而未进行分区,则PPI可能会更慢。
但是当你插入一个填充的表(或更新)并且所有行转到几个分区时,它会更快,因为你跳过未使用的分区并读取(并且可能写入)较少的数据块,即插入的数量(或每个块的行数要高得多。
如果您插入空分区,则使用FastPath处理(如空表)并避免 Transient Journaling 。