Management Studio: Miért lassú a táblamódosítás?
Kővári Attila
2006. május 1.
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:
- Létrehoz egy Temp táblát a módosításoknak megfelelően (esetünkben nvarchar(15)-tel)
- Ezután mindent beszúr az eredeti táblából a Temp-be
- Eldobja az eredeti táblát
- Á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.
Kővári Attila - BI projekt
Már készül a következő cikk. Kérjen értesítést a megjelenéséről itt.
Új hozzászólás