Creazione di query efficienti
La tabella seguente identifica i concetti importanti da considerare quando si crea una query efficiente.
Area | Descrizione |
---|---|
Indicizzazione | Verificare che il filtro di query contenga almeno un attributo indicizzato. Per altre informazioni, vedere Attributi indicizzati. |
Classe e categoria | L'istruzione "objectClass=xyz" fa riferimento agli oggetti directory in cui "xyz" rappresenta qualsiasi classe nella gerarchia della classe oggetto, mentre "objectCategory=xyz" fa riferimento a tali oggetti directory in cui "xyz" identifica una classe specifica nella gerarchia della classe oggetto. La proprietà objectClass può accettare più valori, mentre objectCategory accetta un singolo valore ed è quindi più adatto per la corrispondenza dei tipi di oggetti in una ricerca di directory. |
Ricerca di testo | Evitare di cercare testo al centro e alla fine di una stringa. Ad esempio, "cn=*hille*" o "cn=*larouse". L'uso di criteri di corrispondenza più specifici tende ad aumentare le prestazioni della ricerca. Ciò è dovuto al fatto che Dominio di Active Directory Services valuterà tutti i predicati, identifica gli indici e quindi sceglie un indice con maggiore probabilità di produrre il set più piccolo di valori restituiti. Questa tecnica non funziona correttamente con le ricerche di stringhe intermedie e finali. Se non si dispone di altre opzioni diverse dall'uso di queste ricerche, è possibile definire un indice di tupla per l'attributo . Per altri dettagli sugli indici di tupla, vedere Funzionamento dell'indicizzazione delle tuple. |
Ricerca sottoalbero | Usare il catalogo globale se si stanno valutando le ricerche nel sottoalbero. L'inseguimento delle segnalazioni richiede risorse estese. Per altre informazioni, vedere Specifica di altre opzioni di ricerca. |
Uso del paging | Si supponga che una ricerca di sottoalbero restituisca un set di risultati di grandi dimensioni. Usare il paging durante l'esecuzione di ricerche nel sottoalbero. Il server trasmetterà un set di risultati di grandi dimensioni in blocchi riducendo le risorse di memoria sul lato server. Ciò riduce al minimo l'utilizzo della rete e riduce la necessità di inviare blocchi di dati di grandi dimensioni in una rete. Per altre informazioni, vedere Specifica di altre opzioni di ricerca. |
Combinare le ricerche | Usare più attributi per una ricerca. Una ricerca di un oggetto che legge due attributi è più efficiente di due ricerche dello stesso oggetto, ognuna che restituisce un attributo. |
Uso efficiente dell'associazione | Eseguire il binding a un oggetto una volta e mantenere l'handle di associazione per il resto della sessione. Non associare e annullare l'associazione per ogni chiamata. Se si usa ADO o OLE DB, non creare molti oggetti connessione. |
RoodD edizione Standard memorizzazione nella cache | Leggere rootD edizione Standard una volta e ricordarne il contenuto per il resto della sessione. Per altre informazioni, vedere Binding serverless e RootD edizione Standard. |
Persistenza dei riferimenti | Rendere persistenti i riferimenti agli oggetti come GUID, non nomi distinti, per poter essere rinominati ed eliminati in modo sicuro. Per altre informazioni, vedere Uso di objectGUID per eseguire l'associazione a un oggetto. |