Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    2,460

    [MySql] Ottimizzare questa "update"

    UPDATE tabella SET peso=peso+1 WHERE valore1='xxx' AND valore2='xxx';

    Il problema è che avendo qualche milione di record ci sono update che prendono fino a
    "00:00:00.013418" secondi, troppi

    Ho un indice su valore1 e valore2 quindi in teoria dovrebbe essere abbastanza veloce..

    Come posso ottimizzare questa query ?

    Prima facevo:

    SELECT id,peso FROM tabella WHERE valore1='xxx' AND valore2='xxx';
    incrementavo peso con il mio programma e poi
    UPDATE tabella SET peso='$peso' WHERE id='$id';

    Ma non ho notato grandi differenze di prestazioni..

  2. #2
    tredici centesimi di secondo su una tabella con milioni di record non mi sembrano troppi, sinceramente.

    Sicuramente una UPDATE che punta il record direttamente con l'ID univoco è più veloce.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    2,460
    E update+select sarà piu veloce dell'update come ho fatto io ?

  4. #4
    Originariamente inviato da uMoR
    E update+select sarà piu veloce dell'update come ho fatto io ?
    boh, prova, in ogni caso non serve a niente leggere peso, basta l'id, e poi fai l'update con peso = peso + 1

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    2,460
    -> 00:00:00.007048 [Select+Update]
    -> 00:00:00.006541 [Update]
    -> 00:00:00.014726 [Select+Update]
    -> 00:00:00.003766 [Update]
    -> 00:00:00.004027 [Select+Update]
    -> 00:00:00.003859 [Update]
    -> 00:00:00.001774 [Select+Update]
    -> 00:00:00.001605 [Update]
    -> 00:00:00.025297 [Select+Update]
    -> 00:00:00.015852 [Update]
    -> 00:00:00.001368 [Select+Update]
    -> 00:00:00.001253 [Update]
    -> 00:00:00.001713 [Select+Update]
    -> 00:00:00.001646 [Update]


    E' più veloce l'update.. dovrei trovare il modo di velocizzarla però

  6. #6
    siamo nell'ambito dei millesimi di secondo, secondo me sprechi il tuo tempo.

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    2,460
    Lo so ma moltiplicalo per milioni di query.. un millisecondo fa la differenza

    Forse devo fare un upgrade di hardware..

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.