Subject | Re: [Firebird-Architect] Bulk loader. |
---|---|
Author | Vlad Khorsun |
Post date | 2007-11-03T11:59:26Z |
> If the server knew it was a bulk load, it could lock the table, load theHmm, why do we need to lock the table ?
> data, and build the indexes using a sort and fast load / fast merge
> algorithm (more or less equivalent to dropping the indexes, loading, and
> redefining the indexes but easier). On the other hand, "locking the
> table" isn't exactly a classic concept.
Some time ago i was thinking about loading records into new set of pages
probably not presented in pointer pages until load ends and retaining exclusive
lock on current filled page. Then we can assign logical page numbers to this new
pages by storing its physical numbers in pointer pages, extract and sort new keys
and merge it into existing indexes (or even rebuild indexes if we inserted much
more data then it was before).
Btw, any links to fast merge algorithm description ?
Just my $0.02,
Vlad