Management Studio: Miért lassú a táblamódosítás?


Az SQL Server Management Studio felületén keresztül módosítani akartam az adattárház egyik táblájának oszlopát nvarchar(12)- ről nvarchar(15)-re, és a következő hibaüzenetet kaptam:

Unable to modify table. 
Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.
The statement has been terminated.

Ugyanez a módosítás TSQL-ből (Alter Table) pillanatok alatt lefutott. Elindítottam hát a profiler-t, hogy megnézzem, mit csinál a Management Studio felülete. Nos:

  1. Létrehoz egy Temp táblát a módosításoknak megfelelően (esetünkben nvarchar(15)-tel)
  2. Ezután mindent beszúr az eredeti táblából a Temp-be
  3. Eldobja az eredeti táblát
  4. Átnevezi a Temp táblát az eredeti tábla nevére.

Konklúzió: Az adattárház nagy tábláinak módosítását bízzuk a jó öreg Alter Table TSQL utasításra.

Elválasztó

Már készül a következő cikk. Kérjen értesítést a megjelenéséről itt.

|

Szóljon hozzá!

Szabály: Legyen kedves, segítõkész és vállalja a nevét.
A mező tartalma nem nyilvános.
  • A web és email címek automatikusan linkekké alakulnak.
  • Engedélyezett HTML elemek: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • A sorokat és bekezdéseket automatikusan felismeri a rendszer.
ANTI SPAM
A robot regisztrációk elkerülésére.
Image CAPTCHA
Figyeljen a kis és nagybetűk használatára