Luis De la Parra wrote:

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.

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.

... 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.

-Jim Washington
Zope3-users mailing list

Reply via email to