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.

Tudjon meg többet az itt elhangzottakról és jöjjön el a 2020. április 23.-i BI és adattárház projektvezető képzésre. Részletek >>

  

Elválasztó

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

|

Tudjon meg többet az itt elhangzottakról és jöjjön el a 2020. április 23.-i BI és adattárház projektvezető képzésre. Részletek >>