Solución de rompecabezas: encontrar todas las palabras dentro de una palabra más grande en PHP

Así que tengo una base de datos de palabras de entre 3 y 20 caracteres de longitud. Quiero codificar algo en PHP que encuentre todas las palabras más pequeñas que están contenidas dentro de una palabra más grande. Por ejemplo, en la palabra "hacia adentro" están las palabras "lluvia", "ganar", "deshacerse", etc.

Al principio pensé en agregar un campo a las tablas de Palabras (Palabras3 a Palabras20, denotando el número de letras en las palabras), algo como "LetterCount" ... por ejemplo, "rally" se representaría como 10000000000200000100000010: 1 instancias de la letra A, 0 instancias de la letra B, ... 2 instancias de la letra L, etc. Luego, repase todas las palabras en cada tabla (o una tabla si se especificó la longitud deseada de las palabras encontradas) y compare LetterCount de cada palabra al LetterCount de la palabra de origen ("hacia adentro" en el ejemplo anterior).

Pero luego empecé a pensar que eso supondría una carga excesiva para la base de datos MySQL, así como para el script PHP, llamando a LetterCount a todas y cada una de las palabras, comparando cada dígito con el de la palabra fuente, etc.

¿Hay una manera más fácil, quizás más intuitiva de hacer esto? Estoy abierto a usar procedimientos almacenados si eso ayuda con los gastos generales de alguna manera. Sólo algunas sugerencias serían muy apreciadas. ¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta