Commenti(0)
Creazione INDICI per le ricerche FULL TEXT
MySQL gestisce un particolare tipo di tabella di DB: le MyISAM (MySQL Indexed Sequential Access Method). Su queste tabelle è possibile effettuare ricerche di tipo FULL TEXT, la ricetta è introduttiva della tematica
Come sappiamo MySQL gestisce un particolare tipo di tabella di DB: le MyISAM (MySQL Indexed Sequential Access Method). Su queste tabelle è possibile effettuare ricerche di tipo FULL TEXT.
Bisogna precisare che la ricerca FULL TEXT è possibile solo su campi di testo, quindi CHAR, VARCHAR, TEXT ecc… Inoltre è possibile solo a condizione che sia stato creato un FULL-TEXT INDEX. L’indice full-text può essere creato al momento della creazione della tabella o anche su una tabella esistente.
Nelle tabelle MyISAM i dati vengono suddivisi in record composti da campi a lunghezza fissa; ogni record è immagazzinato in sequenza e ai record corrisponde un set di tabelle hash denominate indici e destinate a contenere i puntatori ai record; in questo modo ogni record verrà estratto senza che la ricerca avvenga in tutto l’insieme di dati.
Esistono due procedure per creare un FULL-TEXT INDEX: la prima consiste nell’inserire l’indice al momento della creazione della tabella; la seconda consiste nel modificare una tabella già creata inserendo il nuovo indice in un secondo momento.
Caso 1: definizione INDICE in fase di CREAZIONE TABELLA:
Supponiamo di creare la seguente tabella news:
Nell’esempio precedente abbiamo creato un indice full-text sui campi titolo e descrizione.
Caso 2: definizione INDICE in fase di MODIFICA della TABELLA:
Supponiamo di avere una tabella persistente news senza indici full-text sui campi titolo e descrizione:
L’istruzione ALTER TABLE modifica una tabella persistente mentre il comando ADD FULLTEXT crea un indice FULL TEXT con un nome arbitrario indicato sui campi che gli vengono passati come parametri.
Condividi su:
Esprimi un voto:
Argomenti chiave:

MySQL Report un tool di shell per tenere tutto sotto controllo