Buscar cadena por palabra exacta en Mysql

Tengo un sistema que busca compañía. Quiero que cuando un usuario busque "Demo", se devolverán todos los registros que tengan "Demo", como "The Demo", "Demo Inc.", etc. No quiero esos registros como "Democrat", " Demolición ", etc. Creo que entiendes mi punto.

En este momento, mi consulta de trabajo se ve así:

select * from table where company LIKE "Demo%"

Pero eso realmente no cumple con mi requisito. También probé este:

select * from table where company RLIKE "[[:<:]]demo[[:>:]]"

El único problema es que elimina la posibilidad de indexar en el campo de mi empresa. Entonces busca realmente lento. Tengo más de un millón de registros en este momento. ¿Alguna idea de cómo hacerlo? Si no se puede hacer en mysql, ¿alguna idea de si es posible en PHP? ¡Gracias!

Respuestas a la pregunta(8)

Su respuesta a la pregunta