Creare un indice su una colonna MySQL in base alla lunghezza del suo contenuto?
Domanda
Come posso creare un indice su una colonna in MySQL v 5.0 (motore db myisam) in base alla lunghezza del suo valore è un tipo di dati TEXT fino a 7000 caratteri, devo aggiungere un'altra colonna con la lunghezza della prima colonna?
Soluzione
Sì, poiché MySQL non supporta indici basati su funzioni (come ADD INDEX myIndex(LENGTH(text)))
, avrai bisogno di una nuova colonna int e definirai a grilletto per aggiornarlo automaticamente dopo inserimenti e aggiornamenti.
Altri suggerimenti
Mi sembra un buon approccio (mi dispiace, non conosco MySQL, ma in Oracle potresti impostare un trigger in modo che quando la colonna principale viene aggiornata, la colonna "lunghezza" venga aggiornata automaticamente)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow