Luis De la Parra wrote:
Yup. But if your data is in a zodb, you only have one (maybe two, with
an OrderedFolder) canonical ordering of things in a container. Any
other order requires sorting the entire set on the fly.
this is how indexes are implemented in RDBMs.. don't know if sqllite has
such a feature, but in oracle the table content is just stored in files
(structured, but unordered) and a set of sorted indexes is kept for the
primary key and all other secundary indexes.
each index has the search fields like index0 = "lastname/firstname" and
index1 = "telephone" and a file/segment/row pointer to the information.
every update to the table triggers an update to all indices in the same
transaction, but you get searching, sorting and batching in return.
... At the moment. ;)
For anyone following this thread, I have updated my factoradic
implementation code this morning. It now memoizes to an sqlite db, and
is much much faster overall. http://blog.hill-street.net
Zope3-users mailing list