How to quickly store large records in Extensible Storage Engine
I'm using Extensible Storage Engine to cache a number of large records - these records tend to be about 2MB in size (each)
Often they will be deleted within a few hours, it's rare that they live for more than this amount of time
I'm in a tight loop of JetBeginTransaction/JetPrepareUpdate/JetSetColums/Update/JetCommitTransaction - each iteration of this loop writes a 2MB record. the data being written has been preallocated and is in RAM - my producer shouldnt be taking any CPU or disk time
I'm measuring very slow performance, on the order of 2megabytes a second.
using procmon I see lots and lots of tiny reads and writes (512 bytes, 4096bytes, and lots of writes ~30K). The largest writes I see are 393,216bytes which I believe开发者_运维问答 is the default for JET_paramMaxCoalesceWriteSize.
This feels like a tuning thing, what can I do to increase performance of large writes? I'm off almost two orders of magnitude from what this hardware should be capable of delivering.
精彩评论