ZCatalog
collective.indexing
collective.indexing ersetzt die Standard-Indizierung des CMF durch einen asynchronen Mechanismus, der redundante Indizierungen vermeidet. Damit wird die Performance zur Aktualisierung der Indizes deutlich gesteigert.
Katalog in eigener ZODB
Wird der Katalog in einer eigenen ZODB gespeichert, können unterschiedliche Cache-Einstellungen für die Inhalte der Plone-Site und den Katalog angegeben werden. Damit werden bei einer umfangreichen Anfrage am Katalog keine Inhaltsobjekte mehr aus dem Cache verdrängt. Wird darüberhinaus die ZODB mit dem Katalog noch auf einer eigenen Platte gespeichert, lässt sich die Performance noch weiter steigern.
Query-Plan
Üblicherweise iteriert die Suchmethode des ZCatalog über alle beteiligten Indizes und bildet anschließend jedesmal die Schnittmenge. Dabei bleibt die Reihenfolge der Indizes, an die die Anfrage gestellt wird, unbestimmt. Dieses Vorgehen lässt sich nun optimieren wenn die Anfrage zunächst an Indizes gestellt wird, dessen Trefferwahrscheinlichkeiten am geringsten sind.
unimr.catalogqueryplan
Üblicherweise iteriert die Suchmethode des ZCatalog über alle beteiligten Indizes und bildet anschließend jedesmal die Schnittmenge. Dabei bleibt die Reihenfolge der Indizes, an die die Anfrage gestellt wird, unbestimmt. Dieses Vorgehen lässt sich nun optimieren wenn die Anfrage zunächst an Indizes gestellt wird, dessen Trefferwahrscheinlichkeiten am geringsten sind.
Composite Index
CompositeIndex ist ein Index für den ZCatalog, der mehr als ein Attribut je Objekt enthalten kann.Solche Indizes sollten erstellt werden, wenn Anfragen mit mehreren Attributen in einer Suche zu erwarten ist und die kombinierte Suche deutlich weniger Ergebnisse erwarten lässt als die einzelnen Suchen mit nur einem Attribut. Hiervon profitieren vor allem große Sites mit mehr als 100.000 Objekten, bei denen die Anfragen zwei- bis dreimal schneller abgearbeitet werden können.