Symbian Developer Library

SYMBIAN OS V6.1 EDITION FOR C++

[Index] [Glossary] [Previous] [Next]



Database storage overhead

Space utilization is efficient

The storage required for a row can be determined as follows:


Indexes

Indexes are implemented using STORE B+trees. Note in particular that indexes use fixed length keys, so that indexes on longer text fields can consume significant space.

If the key for the index is k bytes, the number of rows to index is n, the index page size is P, and the B-tree packing density is r:

a = [(P-8)/(k+4)] * r

Where [x] is the largest integer <= x. Then the number of pages required, N, is

N = n * (1/a + 1/(a*a))

Each page requires P+7 bytes in the store, so the total indexing overhead, S, is

S = N * (P+7)

For DBMS P=512 and r=0.86.