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

    [mysql] query pesanteissima

    SELECT a. * , b. *
    FROM tabella1 a
    LEFT JOIN tabella2 b ON ( b.id_tabella1 = a.id )
    WHERE b.id_tabella1
    IN ( 2 ) AND b.id_tabella2
    IN ( 15, 3, 4 ) AND b.id_tabella3
    IN ( 8, 32, 37, 50, 75, 179, 180, 181, 203, 204, 228, 235 ) AND (
    (
    MONTH( b.data ) >= '07' AND YEAR( b.data ) >= '2005'
    ) AND (
    MONTH( b.data ) <= '08' AND YEAR( b.data ) <= '2005'
    )
    ) LIMIT 0 , 30


    secondo voi una query cosi è troppo pesante? ci mette 0.9 secondi!!
    per estrarre 29 record...

    Perche? Possono essere le date o come è strutturata?

    Ciao

  2. #2
    Scusate ... post inutile...

    ho notato questa cosa, probabilmente trovavo la risposta su mysql.com

    se

    al posto che fare select from tabella1 e fare i where sulla tabella2 "joinnata" la query ci mette 0.061 secondi!!!!

    Credo che la clausola where rallenta molto se la si cstruisce su delle tab joined....

    Va beh chiudete pure il post, vado a informarmi meglio sorry :P:P:P

  3. #3
    si quello che hai fatto e' corretto. Un appunto su il limit. Non guadagni in esecuzione perche' comunque mysql estrae tutti i record. Quello che cambia e' il consumo di banda se hai un host remoto, perche' dalla rete transitano solo 29 record.
    ciao
    sergio

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.