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

    [MYSQL] Indici su tabelle

    Ciao a tutti.

    Ho le seguenti 2 tabelle:

    tabella promozioni
    id_promozione BIGINT NOT NULL UNSIGNED AUTOINCREMENT PRIMARY KEY
    .............

    tabella messaggi_promozioni
    id_messaggio BIGINT NOT NULL UNSIGNED AUTOINCREMENT PRIMARY KEY
    id_promozione BIGINT NOT NULL UNSIGNED
    ............

    c'è una relazione esterna tra le 2 tabelle sul campo id_promozione.

    Sulla tabella promozioni, inoltre, c'è un indice sul campo id_promozione di tipo DESC

    Ora, se faccio la seguente query:

    SELECT *
    FROM promozioni A INNER JOIN messaggi_promozioni B on A.id_promozione=B.id_promozione
    ORDER BY A.id_promozione DESC

    questa risulta essere ottimizzata dall'uso dell'indice sulla tabella promozioni oppure devo inserire anche nella tabella messaggi_promozioni un indice di tipo DESC sul campo id_promozione?

  2. #2
    Utente di HTML.it L'avatar di smt
    Registrato dal
    Jul 2002
    Messaggi
    167
    non è un dovere, gli indici sono accessori, ma ottimizzano le prestazioni: puoi metterlo, con la ragionevole sicurezza di migliorare le performance di lettura, su
    - ogni campo chiave di una join (on...) in entrambe le tabelle
    - ogni campo in clausole where
    - ogni campo in clausole having
    per avere il massimo beneficio, consigliano di avere i campi su cui fai le join, dichiarati dello stesso tipo.
    per ottimizzare le prestazioni ha senso usare il campo del tipo più piccolo possibile capace di contenere tutte le informazioni della tua tabella, molto provabilmente BIGINT non è ottimale.
    log-slow-queries, EXPLAIN SELECT e Analyze tbl sono molto utili, ti consiglio di provarli.

    http://dev.mysql.com/doc/refman/5.0/en/query-speed.html
    Reality is that which, when you stop believing in it, doesn't go away

  3. #3
    Grazie.
    Sto cercando di capirci qualcosa. Speriamo.

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.