Domanda

Ho un'applicazione che sto scrivendo in accesso con un back-end server SQL. Una delle parti più utilizzati è dove gli utenti seleziona una risposta a una domanda, una stored procedure viene poi licenziato che vede se è già stata data una risposta, se ha un aggiornamento viene eseguito, se viene eseguito senza un inserto.

Questo funziona bene, ma ora abbiamo aggiornato a SQL Server 2008 Express mi chiedevo se sarebbe meglio / più veloce / più efficiente di riscrivere questo SP per utilizzare il nuovo comando merge.

Qualcuno ha qualche idea se questo è più veloce di fare un SELECT seguita sia da un INSERT o UPDATE?

È stato utile?

Soluzione

Non ne vale la pena. Forse fattibile, ma non vi darà nulla evidente.

Unisci è particolarmente di mira i data warehouse in cui scoprire cosa inserimento / aggiornamento è la parte difficile. Esso consente tutte le operazioni (inserimento, aggiornamento) per essere fatto con una serie di fusioni, rispetto a uno per ogni condizione. Questo non fa alcuna differenza nel tuo caso.

Ho un database in cui sto caricando 3-5 milioni di righe in una tabella 300 milioni di fila - ci si fondono improoves mio rendimento del 50% (una scansione di tabella invece di due)

.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top