Creación de consultas eficaces
En la tabla siguiente se identifican conceptos importantes que se deben tener en cuenta al crear una consulta eficaz.
Área | Descripción |
---|---|
Indización | Asegúrese de que el filtro de consulta contiene al menos un atributo indexado. Para obtener más información, vea Atributos indexados. |
Class vs. Categoría | La instrucción "objectClass=xyz" hace referencia a los objetos de directorio en los que "xyz" representa cualquier clase de la jerarquía de clases de objeto, mientras que "objectCategory=xyz", hace referencia a esos objetos de directorio en los que "xyz" identifica una clase específica en la jerarquía de clases de objeto. La propiedad objectClass puede tomar varios valores, mientras que objectCategory toma un único valor y es, por lo tanto, más adecuado para la coincidencia de tipos de objetos en una búsqueda de directorios. |
Búsqueda de texto | Evite buscar texto a la mitad y al final de una cadena. Por ejemplo, "cn=*hille*" o "cn=*larouse". El uso de criterios de coincidencia más específicos tiende a aumentar el rendimiento de la búsqueda. Esto se debe a que Active Directory Domain Services evaluará todos los predicados, identifica los índices y, a continuación, elige un índice más probable que produzca el conjunto más pequeño de valores devueltos. Esta técnica no funciona bien con búsquedas de finales y mitades de las cadenas. Si no tiene ninguna otra opción que no sea usar estas búsquedas, puede definir un índice de tupla para el atributo. Para más detalles sobre los índices de tupla consulte Cómo funciona la indexación de tuplas. |
Búsqueda de subárboles | Use el catálogo global si está considerando búsquedas de subárboles. La búsqueda de referencias requiere recursos extensos. Para obtener más información, vea Especificar otras opciones de búsqueda. |
Uso de la paginación | Supongamos que una búsqueda de subárbol devolverá un conjunto de resultados grande. Use la paginación al realizar búsquedas de subárboles. El servidor transmitirá un conjunto de resultados grande en fragmentos que reducen los recursos de memoria del lado servidor. Esto minimiza el uso de red y reduce la necesidad de enviar grandes fragmentos de datos a través de una red. Para obtener más información, vea Especificar otras opciones de búsqueda. |
Combinar búsquedas | Use varios atributos para una búsqueda. Una búsqueda de un objeto que lee dos atributos es más eficaz que dos búsquedas del mismo objeto, cada una devolviendo un atributo. |
Uso eficaz del enlace | Enlazar a un objeto una vez y contener el identificador de enlace para el resto de la sesión. No enlace y desenlace para cada llamada. Si usa ADO o OLE DB, no cree muchos objetos de conexión. |
Almacenamiento en caché de RoodDSE | Lea el rootDSE una vez y recuerde su contenido para el resto de la sesión. Para obtener más información, consulte Enlace sin servidor y RootDSE. |
Persistencia de referencia | Conservar las referencias a objetos como GUID, no nombres distintivos, para cambiar el nombre y eliminar seguros. Para obtener más información, vea Uso de objectGUID para enlazar a un objeto. |