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

    [MySQL] Chiarimento su chiavi e indici

    ciao!

    una domanda alla quale non ho trovato risposta in giro.

    supponiamo che ho una tabella così:
    codice:
    id
    nome
    colore
    taglia
    ed ho impostato:
    • id PK AI
    • chiave univoca su nome/colore


    il nome viene considerato anche indice?
    nel senso, se io dovessi fare parecchie query che interessano solo il nome per ordinamento, raggruppamento, ricerca, il campo nome viene trattato in automatico come indice?
    oppure ne devo creare uno apposito??

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508
    Anche le chiavi UNIQUE sono trattate come indici, puoi comunque verificare con questa query
    codice:
    SHOW INDEXES FROM nometabella

  3. #3
    ciao!

    grazie per la risposta.
    che erano trattati come indici si, intendevo un'altra cosa.

    la UQ è composta da più campi.
    ma il campo singolo poi è trattato come indice?
    intendo preso singolarmante??

    cmq ho fatto la query che mi hai indicato:
    codice:
    mp_giacenze,0,PRIMARY,1,giac_id
    mp_giacenze,0,giac_uq,1,giac_feed
    mp_giacenze,0,giac_uq,2,giac_codice
    mp_giacenze,0,giac_uq,3,giac_colore
    mp_giacenze,0,giac_uq,4,giac_taglia
    nello specifico parlo del campo giac_colore.
    dato che ci devo fare parecchie query preso come campo singolo.
    (non so se riesco mi sono riuscito a spiegare).

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Se la tua chiave univoca é composta dai campi a, b, c, d allora il campo c è ordinato all’interno di ogni coppia a, b. Se vuoi fare query sul campi c allora devi creare un indice specifico. Sai che se vuoi listare tutti i modelli che hanno un certo colore, o contare tutti i modelli di ogni colore, lo puoi fare anche senza un indice specifico. Comunque con un indice, tutto sarà più veloce.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Se la tua chiave univoca é composta dai campi a, b, c, d allora il campo c è ordinato all’interno di ogni coppia a, b. Se vuoi fare query sul campi c allora devi creare un indice specifico. Sai che se vuoi listare tutti i modelli che hanno un certo colore, o contare tutti i modelli di ogni colore, lo puoi fare anche senza un indice specifico. Comunque con un indice, tutto sarà più veloce.
    perfetto grazie!!
    hai risolto il mio dubbio!

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Ho dimenticato una cosa. Un indice agevola gli accessi ai record della tabella. Devi comunque usare l’order by per essere sicuri che i record siano ordinati bene.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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.