sql >> Base de Datos >  >> RDS >> Sqlserver

Consultas mixtas contra el índice de texto completo

No creo que debas experimentar ningún problema, si entiendo tu pregunta correctamente. A menudo combino texto completo y árbol b con excelentes resultados. Cuando se realiza la búsqueda de texto completo, se busca en cada "término" delimitado como un índice, tal como lo haría con una columna indexada con un solo término (más o menos algunas estadísticas SQL). De cualquier manera, SQL debe averiguar su ruta de ejecución. La búsqueda de texto completo no favorece la comparación de valores enteros/de fecha, más bien para hacer coincidir cadenas de datos delimitados.

Me imagino que querrás seguir usando la eficiencia del concepto b-tree a tu favor. La búsqueda en el índice del catálogo de texto completo me parece una búsqueda mucho más indirecta, aunque mucho más ventajosa en situaciones en las que se usa "LIKE" para analizar/comparar cadenas.

Lo que hago es:

 SELECT * FROM MyTable
  WHERE CONTAINS(columnName, '"Toy Dog" OR "live animal"')
    AND start_date > ###;

(consulte este artículo de msdn para obtener información sobre la sintaxis )

PD al indexar datos enteros de texto completo, desactive la lista de palabras irrelevantes para que esos valores no se ignoren en la indexación del catálogo.

¡Espero que algo de eso ayude! (Nadie ha respondido, así que pensé en dar mi experiencia)