2010-06-02 23 views
6

Abbiamo alcune tabelle nel nostro database SQL Server (2005 & 2008) con colonne definite come nvarchar (4000). A volte dobbiamo essere in grado di memorizzare più dati rispetto a quello e considerare di utilizzare nvarchar (max). Ora alle domande.Conversione da nvarchar (4000) a nvarchar (max)

  1. Ci sono delle implicazioni sulle prestazioni che dovremmo sapere?
  2. È sicuro utilizzare "alter table" per eseguire la migrazione effettiva o esiste un altro modo?
  3. Qualcos'altro che dovremmo sapere prima di convertirci?

saluti Johan

risposta

8

Abbiamo avuto a che fare anche questo in alcuni punti

  1. Non abbiamo visto alcun risultato di performance, il suo stato 5 settimane da quando il cambiamento
  2. 'Alter table' va bene fintanto che la tabella non viene scritta durante la conversione
  3. Assicurati di avere un backup nel caso in cui e in base alla quantità di dati nella tabella potrebbe prendere aw hile
+5

La condizione del secondo punto vale la pena di ripetere: spesso è necessario pianificare per raggiungere tale stato. –

1

Se il testo non si adatta alla pagina con il resto dei dati, il testo verrà archiviato in un'altra pagina. Ciò causa una lettura extra della pagina del database. Quindi le prestazioni possono/saranno più lente. Su sistemi con un carico pesante e un tempo di risposta molto ristretto, forse.

Lo studio di gestione SQL Server probabilmente rinomina la tabella corrente, ne crea una nuova con il nuovo layout, copia i dati, rimuove la vecchia tabella. Questo può essere lento.

Non so se la tabella delle modifiche funzionerà.

Problemi correlati