Shrink پایگاه داده چیست؟
آموزش پیشرفته SQL Server (جلسه پنجم) (Performance & tuning) - آموزش Shrink
آموزش Shrink پایگاه داده، قسمتی از آموزش پیشرفته SQL Server است، پیشنهاد می شود قبل از مطالعه ی Shrink بانک اطلاعاتی، قسمت های قبلی را مطالعه فرمایید.
7- Shrink پایگاه داده چیست؟
Shrink در لغت به معنی جمع و جور کردن و یا منقبض کردن است.
Shrink در واقع فضای DataFile و LogFile را جمع و جور می کند.
Shrink، آخرین فضای پر را به اولین فضای خالی منتقل می کند.
با استفاده از Shrink می توان فضاهای خالی بانک اطلاعاتی را از بین برد و آنها را در یک قسمت جمع نمود.
تأثیر Shrink بر روی ایندکس ها
Shrink، یک تأثیر منفی روی ایندکس ها خواهد داشت ...!
لطفاً به مثال زیر توجه فرمایید، در جدول اول نحوه ی قرار گیری داده ها قبل از Shrink را مشاهده می کنید و در جدول دوم، چگونگی جابه جایی X4 و X3 و X2 به اولین فضای خالی نشان داده شده است:
x1 | |||
x2 | |||
x3 | |||
x4 |
<------
x2 | x3 | x4 | x1 |
فضاهای متمایز شده با رنگ قرمز، جزو فضاهای بدون استفاده محسوب می شود که بعد از عملیات Shrink قابل استفاده خواهد بود. شاید متوجه شده باشید که بعد از Shrink، ترتیب قرار گیری داده ها به هم ریخته است ...!
بعد از عملیات Shrink در واقع Fragmentation اتفاق افتاده است، یعنی یک Page به صفحه ای قبل از خودش اشاره می کند. (X2 به یک صفحه قبل از خودش یعنی X3 اشاره می کند و X3 نیز به X4)
بنابراین عملیات Shrink باعث افزایش Fragmentation و همچنین Page Split ایندکس ها خواهد شد و بخاطر این دو اتفاق مدت زمان Locking افزایش خواهد یافت.
مثال عملی از Shrink
مثال 1: اسکریپت مربوط به Shrink پایگاه داده:
با استفاده از دستور DBCC SHRINKDATABASE می توان فضای DataFile و LogFile را جمع و جور (Shrink) کرد:
Shri nk پایگاه داده
DBCC SHRINKDATABASE
( database_name | database_id | 0
[ , target_percent ]
[ , { NOTRUNCATE | TRUNCATEONLY } ]
)
[ WITH NO_INFOMSGS ]
برای کسب اطلاعات بیشتر در مورد دستور بالا به لینک روبرو مراجعه فرمایید: SHRINKDATABASE
مثال 2: اسکریپت مربوط به Shrink فایل DataFile یا LogFile
با استفاده از دستور DBCC SHRINKFILE می توان فضای Datafile یا Logfile را جمع و جور (Shrink) کرد:
Shri nk فایل LogFile
DBCC SHRINKFILE
(
{ file_name | file_id }
{ [ , EMPTYFILE ]
| [ [ , target_size ] [ , { NOTRUNCATE | TRUNCATEONLY } ] ]
}
)
[ WITH NO_INFOMSGS ]
برای کسب اطلاعات بیشتر در مورد دستور بالا به لینک روبرو مراجعه فرمایید: SHRINKFILE
در ادامه بحث Shrink خواهید دید ...!
با خرید جلسه 5 از بسته آموزشی "افزایش کارایی پایگاه داده" موارد زیر را خواهید دید:
- با یک مثال عملی، تأثیر Shrink بر کاهش فضای DataFile و LogFile را نشان دهید.
- با یک مثال عملی، افزایش Fragmentation را نشان دهید.
- آیا rebuild کردن ایندکس ها مشکل fragmentation را حل می کند؟
- در سیستم های بانک اطلاعاتی بزرگ آیا Shrink کردن DataFile و LogFile صحیح است؟
دسترسی به موارد آموزشی بالا در بسته خریداری شده
- شماره جلسه: 5
- نام فایل ویدئو: 01
- فرمت فایل: mp4.
نقطه شروع بحث بالا (Shrink) در ویدئو: 0:10
برای خرید و دانلود کامل آموزش پیشرفته SQL Server کلیک کنید.
- نوشته شده توسط امیر پهلوان صادق
- بازدید: 17776