ciauz... ho letto la documentazione di mysql 5...
però non riesco ancora a capire per che tipo di query è consigliato una indicizzazione multi-colonna (esempio INDEX (campo1, campo2...) ) e in che tipo indici separati (INDEX(campo1), INDEX(campo2))
qualcuno saprebbe spiegarmi la differenza?
scrivo alcuni esempio... sperando che qualcuno sappia consigliarmi:
elenco tabelle:
codice:
#### tabelle ####
-- categorie --
c_id INT UNSIGNED not null AUTO_INCREMENT,
c_stato SET( '0', '1','2','3' ) DEFAULT '0',
c_sezione INT UNSIGNED,
c_titolo VARCHAR (255),
PRIMARY KEY (c_id)
-- articoli --
a_id INT UNSIGNED not null AUTO_INCREMENT,
a_stato SET( '0', '1','2','3' ) DEFAULT '0',
a_titolo VARCHAR (255),
a_testo TEXT,
PRIMARY KEY (a_id)
-- categorie_rec -- (permette di associare unr ecord a più categorie)
cr_id INT UNSIGNED not null AUTO_INCREMENT,
cr_stato SET( '0', '1','2','3' ) DEFAULT '0' NOT NULL,
cr_id_rif INT UNSIGNED,
cr_sezione SMALLINT UNSIGNED,
cr_category INT UNSIGNED,
PRIMARY KEY (cr_id)
ora scrivo 2 esempi di query
codice:
//1: seleziono tutti gli articoli che appartengono a una categoria
SELECT a_id, a_titolo FROM category_rec JOIN articoli ON (a_stato='1' AND a_id =cr_id_rif) WHERE (cr_stato='1' AND cr_sezione = '2') AND cr_category = '10'";
//2 seleziono un articolo preciso
SELECT a_titolo, a_testo FROM articoli WHERE a_id='2' AND a_stato='1'
considerando questi due esempi di query...come è meglio indicizzare i campi nelle varie tabelle?
ciauz e grazie a tutti