Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

È più veloce AGGIORNARE una riga, o ELIMINArla e INSERIRE una nuova?

Non dovresti fare questa domanda. Ti stai chiedendo "È meglio farlo nel modo giusto, o nel modo sbagliato, in nome di qualche nebulosa idea di 'più veloce'?"

Hai un'applicazione che è in qualche modo troppo lenta? Per qualche motivo pensi che il problema sia dovuto al fatto che i tuoi AGGIORNAMENTI stanno impiegando troppo tempo? Hai effettuato misurazioni e benchmarking delle prestazioni delle tue interazioni con il database?

Quello che stai facendo è un'ottimizzazione prematura del peggior tipo e in questo modo stai rendendo la tua applicazione un disservizio. Stai facendo ipotesi folli su come velocizzare il tuo codice, senza assolutamente nulla su cui basarlo.

Scrivi il tuo codice bene. Quindi prova a trovare dove hai un problema di prestazioni. HAI anche un problema di prestazioni o stai facendo questa domanda semplicemente perché pensi che sia qualcosa che dovresti chiedere? Non dovresti.

Anche se in particolare hai riscontrato un problema con i tuoi AGGIORNAMENTI troppo lenti, non possiamo rispondere alla domanda "X è più veloce di Y" perché non ci hai fornito informazioni quasi sufficienti, come ad esempio:

  • Quale database stai utilizzando
  • I layout delle tabelle
  • Quali indici sono presenti nel database
  • Come ti stai interfacciando con il database

Per favore, scrivi il tuo codice correttamente e poi torna con i dettagli su ciò che è troppo lento, piuttosto che tirare a indovinare le micro-ottimizzazioni.