آموزش SQL Server
آموزش SQL Server ۱۱: ایندکس، تراکنش و بهینهسازی کوئری

ایندکس میتواند جستوجو در SQL Server را سریعتر کند، اما هزینه ذخیرهسازی و عملیات نوشتن را افزایش میدهد. تراکنش نیز کمک میکند مجموعهای از تغییرات بهصورت یک واحد مدیریت شود.
ایندکس ساده
1 2 | CREATE INDEX IX_Students_FullName ON dbo.Students(FullName); |
ایندکس را روی ستونهایی بررسی کنید که در فیلتر، اتصال یا مرتبسازی پرتکرار هستند. ایندکس اضافی ممکن است INSERT و UPDATE را کند کند.
تراکنش
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | BEGIN TRY BEGIN TRAN; UPDATE dbo.Accounts SET Balance = Balance - 100 WHERE AccountID = 1; UPDATE dbo.Accounts SET Balance = Balance + 100 WHERE AccountID = 2; COMMIT; END TRY BEGIN CATCH IF @@TRANCOUNT > 0 ROLLBACK; THROW; END CATCH; |
در صورت بروز خطا، ROLLBACK تغییرات تراکنش را لغو میکند. این نمونه را فقط با جدول آزمایشی اجرا کنید.
بهینهسازی
ابتدا کندی را اندازهگیری کنید، Execution Plan و آمار ورودی/خروجی را بررسی کنید و سپس تغییر را آزمایش کنید؛ ایندکسسازی بدون اندازهگیری ممکن است نتیجه معکوس بدهد.
برای محافظت از دادهها، آموزش Backup، Restore و امنیت را بخوانید.

