blocked views
Jean-Claude Wippler <[email protected]>
| Newsgroups | gmane.comp.db.metakit |
|---|---|
| Message-ID | <[email protected]> |
There is a faster implementation of blocked views in CVS now. It
evolved from a change submitted by M. Berk (thank you!) and appears to
have a considerable effect on performance. The trick is to cache the
last used subview.
If you use blocked views and check out the latest code from CVS, you
will see.
If you don't, let me just say that blocked views are now a good option
for very large views. Performance benefits are particularly good for
views with many properties, and when traversing them sequentially.
To switch to using blocked views, change code which looks like:
vw = store.getas("vw[...]")
to
vm = store.getas("vw[_B[...]]").blocked()
You'll also need to reload data, this change won't convert it for you.
With a somewhat lower raw access performance, you'll get much more
scalable views (millions of rows and more), faster commits, and smaller
datafiles.
There's no need to switch over every view - it's still a trade-off. If
your views are rarely modified, or contain no strings, or are always
accessed in random order (hash maps), then flat is often still better.
But it's there if you want it.
-jcw
_____________________________________________
Metakit mailing list - [email protected]
http://www.equi4.com/mailman/listinfo/metakit