Tengo una enorme tabla con 2 columnas: Id y Título. Id es bigint y soy libre de elegir el tipo de columna Título: varchar, char, text, whatever. El título de columna contiene cadenas de texto aleatorias como "abcdefg", "q", "allyourbasebelongtous" con un máximo de 255 caracteres.¿La forma más rápida de encontrar cadena por subcadena en SQL?
Mi tarea consiste en obtener cadenas por una subcadena determinada. Las subcadenas también tienen longitud aleatoria y pueden ser inicio, mitad o final de las cadenas. La manera más obvia para llevarla a cabo:
SELECT * FROM t LIKE '%abc%'
no me importa sobre INSERT, lo único que tiene que hacer selecciona rápidas. ¿Qué puedo hacer para realizar la búsqueda lo más rápido posible?
Uso MS SQL Server 2008 R2, la búsqueda de texto completo será inútil, hasta donde yo veo.
Bienvenido al maravilloso mundo de rendimiento de la base de datos increíblemente pobre :-) – paxdiablo
¿Por qué la búsqueda de texto completo será inútil? –
¿podrían las subcadenas ser tokens? Si puedes dividir palabras por espacio, coma o guión, tengo una idea. Házmelo saber. – sgtz