如何在可扩展存储引擎中快速存储大型记录

时间:2011-02-19 20:23:54

标签: windows database extensible-storage-engine

我正在使用可扩展存储引擎来缓存大量记录 -​​ 这些记录大小约为2MB(每个)

它们通常会在几个小时内被删除,但它们的存活时间超过这段时间很少

我正处于JetBeginTransaction / JetPrepareUpdate / JetSetColums / Update / JetCommitTransaction的紧密循环中 - 此循环的每次迭代都会写入2MB记录。正在写入的数据已经预先分配并且在RAM中 - 我的生产者不应该占用任何CPU或磁盘时间

我测量的性能非常慢,大约每秒2兆字节。

使用procmon我看到很多很小的读写操作(512字节,4096字节,大量写入~30K)。我看到的最大写入是393,216bytes,我认为这是JET_paramMaxCoalesceWriteSize的默认值。

这感觉就像一个调整的东西,我该怎么做才能提高大写的性能?我的硬件能够提供的功能差不多两个数量级。

0 个答案:

没有答案