Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [MYSQL] indici multi-colonna o separati?

    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

  2. #2
    faccio un piccolo uppolo ...

    mi basterebbe che qualcuno mi spiegasse o mi fornisse un link per capire in dettaglio qual'è la differenza tra un indice separato e uno multi colonna... e quando conviene usare l'uno o l'altro.

    ho letto diversi manuali,compresa la documentazione ufficiale, ma tutti ne trattano in modo molto superficiale...

    ciauz e grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.