¿Crear un índice en una columna MySQL en función de la longitud de su contenido?
Pregunta
¿Cómo creo un índice en una columna en MySQL v 5.0 (motor de base de datos myisam) en función de la longitud de su valor? Es un tipo de datos de TEXTO de hasta 7000 caracteres. ¿Tengo que agregar otra columna con la longitud de la primera columna?
Solución
Sí, como MySQL no admite índices basados en funciones (como ADD INDEX myIndex(LENGTH(text)))
, necesitarás una nueva columna int y definir un desencadenar para actualizarlo automáticamente después de inserciones y actualizaciones.
Otros consejos
Me parece un buen enfoque (lo siento, no conozco MySQL, pero en Oracle puedes configurar un activador para que cuando se actualice tu columna principal, la columna de "longitud" se actualice automáticamente)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow