Auto Parameterization در SQL Server یک ویژگی است که به طور خودکار، کوئریهای Ad-Hoc را تحلیل کرده و در صورت امکان، پارامترها را به آنها اضافه میکند. این ویژگی به SQL Server امکان میدهد تا کوئریهایی که بدون استفاده از پارامترها و با استفاده از مقادیر ثابت اجرا میشوند، را به صورت پارامتری شده تغییر دهد.
وقتی Auto Parameterization فعال است، SQL Server به دنبال کوئریهای Ad-Hoc است که از مقادیر ثابت استفاده میکنند، و در صورت ممکن، این مقادیر ثابت را با پارامترهای متغیر جایگزین میکند. این عمل باعث میشود که Execution Planهای مشابهی برای کوئریهای مشابه تولید شوند و از Plan Cache استفاده شود، که میتواند به بهبود عملکرد و کارایی سرور کمک کند.
استفاده از Auto Parameterization معمولاً در مواردی که کوئریهای Ad-Hoc بدون استفاده از پارامترها ارسال میشوند مفید است، اما باید توجه داشت که این ویژگی نمیتواند برای همه موارد بهینه باشد. در برخی موارد، ممکن است تغییر پارامترهای ثابت به پارامترهای متغیر منجر به تغییر Execution Planها و عملکرد کوئریها شود.
برای فعال یا غیرفعال کردن Auto Parameterization، میتوانید از تنظیمات سرور استفاده کنید، اما به طور کلی، این ویژگی به طور پیشفرض در SQL Server فعال است و برای اکثر موارد مفید است.
فعال سازی قابلیت auto parameterization در SQL Server
قابلیت Auto Parameterization در SQL Server به طور پیشفرض فعال است و نیازی به فعالسازی دستی ندارد. این قابلیت به SQL Server امکان میدهد که به طور خودکار مقادیر ثابت در کوئریها را به پارامترهای متغیر تبدیل کند و از آنها برای تولید Execution Planهای بهینه استفاده کند.
اگر متوجه شوید که قابلیت Auto Parameterization در SQL Server غیرفعال است، میتوانید از طریق اجرای دستور زیر این قابلیت را فعال کنید:
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'auto parameterization', 1;
GO
RECONFIGURE;
GO
این دستورات ابتدا مجوزهای لازم را فعال میکنند، سپس قابلیت Auto Parameterization را فعال میسازند و تغییرات را اعمال میکنند. بعد از اعمال این تغییرات، SQL Server باید قادر به اجرای Auto Parameterization باشد. اما توجه داشته باشید که باید این قابلیت را با دقت فعال کنید و اثرات آن را بر روی عملکرد کوئریها و سیستم در نظر بگیرید.
Plan Guides در SQL Server چیست؟
Plan Guides یک ابزار مهم در SQL Server هستند که به شما امکان میدهند برنامهریزی اجرای Queryها را به دقت کنترل کنید. این امکان به شما میدهد که اجرای Queryها را به سبک دلخواه خود تنظیم کنید، حتی اگر Queryها توسط برنامهنویسان یا برنامههایی که مورد کنترل شما نیستند، تولید شده باشند.
به طور کلی، Plan Guides برای دو مورد استفاده میشوند:
- حفظ Execution Plan:
با استفاده از Plan Guides، میتوانید Execution Planهای مورد نظر خود را برای Queryها تعریف کنید و از تغییر آنها جلوگیری کنید. این کار میتواند مفید باشد زمانی که یک Execution Plan خاص برای یک Query بهینه است و نمیخواهید که SQL Server به طور خودکار Execution Planها را تغییر دهد.
- تغییر Execution Plan:
Plan Guides همچنین به شما اجازه میدهند تا Execution Planهای Queryها را به شکل دلخواه خود تغییر دهید. این امکان به شما این امکان را میدهد که برنامهریزی اجرای Queryها را بهبود دهید و میتوانید از آن برای بهبود عملکرد، افزایش امنیت یا دیگر نیازهای خود استفاده کنید.
استفاده از Plan Guides معمولاً در مواردی که نیاز به کنترل دقیق بر روی عملکرد Queryها دارید مفید است. اما باید توجه داشت که استفاده از این ابزار نیازمند دانش و تجربه زیادی در زمینه عملکرد دیتابیس و Execution Planها است، زیرا اشتباه در تنظیمات Plan Guides ممکن است منجر به کاهش عملکرد و کارایی سیستم شود.
دیدگاه ها 2