Next: , Previous: , Up: Operation   [Contents][Index]


10.2 Performance

Large keys and large associated data are not stored within b-tree nodes, and for that their access require an extra indirection (a disk access, if the data is not cached).

Traversing table content (and range scanning) is slow, as moving from node to node may prompt a disk seek and read. Large external node sizes improve the traversal speed, but may damage other operations performance.

Transaction closing is a blocking operation. Small transactions during light system activity close fast. Large transactions may close very slowly, and heavy system activity may see transactions of any size closing very slowly.

B-trees write and read all over the database files in a seemingly random fashion. For that, data access is slow. Caching large amounts of database content helps, and so are large and very large transactions when writing. Various techniques for improving b-tree write performance may be used. Beyond the scope of this library, they may still be considered by applications.