Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317

    [MySQL] Ottica ottimizzazione: istruzioni nelle query o no?

    Le istruzioni, a vostro parare è bene inserirle direttamente nelle query, se possibile o nel codice lato server php/asp?
    In ottica di ottimizzazione ovviamente (quali fra le due è più veloce ad essere eseguita).

    Grazie


    EDIT/

    Giusto per fare un esempio che magari mi sono spiegato male:

    SELECT IF (tot = 0, -1, tot) FROM payments;

    o sarebbe più corretto estrarre tot e poi con una if assegnargli il valore -1 o lasciarlo tot nel caso sia diverso da 0?

    Ovviamente è un esempio esemplificato.
    Ultima modifica di zacca94; 10-10-2015 a 20:48

  2. #2
    queste cose falle fare alla query. ti faccio un ulteriore esempio

    SELECT quantita, prezzo, quantita*prezzo as totale FROM ordine

    è meglio così che estrarre quantita, prezzo e poi fare la moltiplica lato applicativo. salvo casi particolari che in questo momento non so immaginare

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    Quote Originariamente inviata da optime Visualizza il messaggio
    queste cose falle fare alla query. ti faccio un ulteriore esempio

    SELECT quantita, prezzo, quantita*prezzo as totale FROM ordine

    è meglio così che estrarre quantita, prezzo e poi fare la moltiplica lato applicativo. salvo casi particolari che in questo momento non so immaginare
    grazie mille.
    scusa se rispondo solo ora che visito il forum ogni 2-3 giorni (poi dipende dai casi).

    Sarebbe troppo chiedere anche perchè è meglio farlo fare alla query? Nel caso dell'if mi viene immaginare che il carico dei dati estratti in molti casi può essere minore...

  4. #4
    Utente bannato
    Registrato dal
    Jul 2013
    Messaggi
    290
    l'IF nelle istruzioni SQL va in generale evitato, perchè impedisce l'utilizzo degli indici.
    quindi le funzioni vanno bene se sai già che dovrai esaminare tutte le righe

  5. #5
    nella query citata si può ovviare con un'istruzione CASE

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.