Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Prestazioni query

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    287

    Prestazioni query

    Salve a tutti.

    Utilizzo un db mysql ed ho scritto la seguente query :

    SELECT ld.nomePortata, ld.nomeOperatore,ld.nomeOpLog,ld.dataOra as dataOraOperazione, li.dataOra as dataOraIndice, li.nomeOpLogIndice, li.valoreIndice
    FROM logDml ld join logIndice li on(ld.nomePortata = li.nomePortata)

    diciamo che se le tabelle hanno pochi record la query si esegue rapidamente.

    Noto che se gia abbiamo un centinaio di record (che sono comunque pochi)
    la query si esugue impiegando molto tempo.. anche un minuto

    Come mai? non mi sembra proprio cosi brutta come query...

  2. #2
    i due campi (logDml.nomePortata e logIndice.nomePortata) sono indicizzati? sono dello stesso tipo?

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    287
    si sono dello stesso tipo. Varchar(45)

    ma effettivamente non indicizzati.

    otterrei vantaggi indicizzandoli? se si che tipo di indice dovrei definire?

    grazie

  4. #4
    ovvio che otterrai vantaggi indicizzandoli. riguardo al tipo non so cosa dirti, non conosco MySql così bene

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    287
    ok...

    provo vedo cosa ottengo.

    Vi faccio sapere... Intanto grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    287
    Ok vi aggiorno.

    Premesso che le mie tabelle erano in innoDb e mysql permette di sbizzarrirsi se sono in myIsam

    comunque ho creato indici index sui campi indicati da optime e ho riscontrato notevoli miglioramenti

  7. #7

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    287
    Un ultima domanda...

    Io ho messo solo gli indici sui campi del join.

    Se mettessi gli indici anche sui Campi che estraggo nel SELECT potrei ottenere ulteriori migliorie?

  9. #9
    non su quelli che estrai, al massimo su quelli dove fai selezioni frequenti (where...)

  10. #10
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da mydb
    Se mettessi gli indici anche sui Campi che estraggo nel SELECT potrei ottenere ulteriori migliorie?
    No, gli indici sono utili sui campi usati per le ricerche.
    Certo che una join su un VARCHAR(45).....

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.