+ Rispondi alla Discussione
Risultati da 1 a 3 di 3

Ottimizzare query

Ultimo Messaggio di claudiog74 il:
  1. #1
    User
    Data Registrazione
    Jan 2007
    Località
    Provincia di RE
    Messaggi
    110

    Ottimizzare query

    Ho una query del tipo:

    "SELECT COUNT(*) AS numero FROM tabella1 WHERE id IN (SELECT campo1 FROM tabella2 WHERE campo2=nome_campo)"

    Questa query è necessaria per effettuare dei conteggi, ma essendo i record da verificare molti mi rallenta il sistema. Avete qualche consiglio da darmi?
    Ad esempio potrebbero migliorare le prestazioni se invece di fare un "WHERE id IN (" eseguissi prima la seconda query poi per ogni risultato trovato, mediante un while o un foreach eseguissi la prima query?
    Sviluppatore php Reggio Emilia: http://www.php-web.it

  2. #2
    Utente Premium L'avatar di InuYaksa
    Data Registrazione
    Oct 2006
    Messaggi
    119
    Il modo più semplice per velocizzare la tua query è quella di creare degl'indici.
    In tabella2 devi creare un indice su campo2.
    E di conseguenza in tabella1 anche il campo ID deve avere un indice.
    In questo modo mysql riesce a trovare più facilmente i record.

    Non credo cambi molto ma sostituisci "SELECT COUNT(*)" con "SELECT COUNT(1)".

  3. #3
    User
    Data Registrazione
    Jan 2007
    Località
    Provincia di RE
    Messaggi
    110
    Grazie mille
    Provo a mettere in pratica quanto mi hai consigliato.
    Sviluppatore php Reggio Emilia: http://www.php-web.it

+ Rispondi alla Discussione

Tag per Questa Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.