Erstellen von effizienten Abfragen

In der folgenden Tabelle sind wichtige Konzepte aufgeführt, die beim Erstellen einer effizienten Abfrage zu beachten sind.

Bereich BESCHREIBUNG
Indizierung Stellen Sie sicher, dass der Abfrage Filter mindestens ein indiziertes Attribut enthält.
Weitere Informationen finden Sie unter indizierte Attribute.
Klasse im Vergleich zu Kategorie Die Anweisung "objectClass = XYZ" bezieht sich auf Verzeichnisobjekte, bei denen "xyz" eine beliebige Klasse in der Objektklassen Hierarchie darstellt, während "objectCategory = XYZ" auf die Verzeichnisobjekte verweist, in denen "xyz" eine bestimmte Klasse in der Objektklassen Hierarchie identifiziert. Die objectClass -Eigenschaft kann mehrere Werte annehmen, während objectCategory einen einzelnen Wert annimmt und somit für die Typübereinstimmung von Objekten in einer Verzeichnis Suche besser geeignet ist.
Text Suche Vermeiden Sie das Suchen von Text in der Mitte und am Ende einer Zeichenfolge.
Beispiel: "CN = * Hille * " oder "CN = * larouse".
Die Verwendung spezifischeren Übereinstimmungs Kriterien erhöht tendenziell die Suchleistung. Der Grund hierfür ist, dass Active Directory Domain Services alle Prädikate auswertet, die Indizes identifiziert und dann einen Index auswählt, der höchstwahrscheinlich die kleinste Menge zurückgegebener Werte liefert. Diese Technik funktioniert nicht gut bei der Suche nach Mid-und End-Zeichen folgen. Wenn Sie nicht über diese Suchvorgänge verfügen, können Sie einen Tupelindex für das Attribut definieren.
Weitere Informationen zu tupelindizes finden Sie unter Funktionsweise der tupelindizierung.
Unterstruktur Suche Verwenden Sie den globalen Katalog, wenn Sie untergeordnete Suchvorgänge in Erwägung ziehen. Die Referenz für Verweise erfordert umfassende Ressourcen.
Weitere Informationen finden Sie unter Angeben anderer Suchoptionen.
Verwendung von Paging Angenommen, eine Unterstruktur Suche gibt ein großes Resultset zurück. Paging beim Durchführen von untergeordneten Such Vorgängen verwenden. Der Server wird ein umfangreiches Resultset in Blöcken streamen, wodurch die serverseitigen Speicherressourcen reduziert werden. Dies minimiert die Netzwerk Auslastung und verringert die Notwendigkeit, große Datenblöcke über ein Netzwerk zu senden.
Weitere Informationen finden Sie unter Angeben anderer Suchoptionen.
Suchvorgänge kombinieren Verwenden Sie mehrere Attribute für eine Suche. Eine Suche nach einem Objekt, das zwei Attribute liest, ist effizienter als zwei Suchvorgänge desselben Objekts, von denen jedes ein Attribut zurückgibt.
Effiziente Verwendung von BIND Binden Sie ein Objekt einmal an ein Objekt, und halten Sie das Bindungs Handle für den Rest der Sitzung. Binden und Aufheben der Bindung für jeden-Befehl. Wenn Sie ADO oder OLE DB verwenden, erstellen Sie keine zahlreichen Verbindungs Objekte.
Rooddse-Caching Lesen Sie die RootDSE einmal, und merken Sie sich ihren Inhalt für den Rest der Sitzung.
Weitere Informationen finden Sie unter Server lose Bindung und RootDSE.
Verweis Fehler beibehalten Persistente Verweise auf Objekte als GUIDs, nicht als Distinguished Names, um die Sicherheit umzubenennen und zu löschen.
Weitere Informationen finden Sie unter Verwenden von objectGUID für die Bindung an ein-Objekt.