> Your question suggests you think that is not efficient, but doesn't have to be true That's just a fact Kees, IMHO. Storing doubles of a 3D cube as you suggest would blow up the disk used tremendously, and arrays tend to be **direct addressable** by computing an offset, based on the dimensions and fixed-size element, which would be incredibly faster than a BTree lookup, I can tell you that. Of course, storing large blobs in SQLite is not particularly efficient either, blobs are one of the weak points of SQLite IMHO... Chasing all these overflow pages will add overhead to *address* into a *far-offset*. I really really wish SQLite had a new kind of pages, or even page-ranges to be much more efficient with large blobs...