
آموزش Query Tag و SQL Server Profiler در EF Core
در آموزش Query Tag و SQL Server Profiler در EF Core. به تحلیل و مانیتورینگ کوئریهای EF Core با استفاده از Query Tag و SQL Server Profiler میپردازیم. در پروژههای واقعی با پایگاه دادههای بزرگ، لازم است که بتوان رفتار کوئریهای EF Core را تحلیل، ردگیری و بهینهسازی کرد. در این آموزش یاد میگیریم که چطور با استفاده از متد TagWith() در EF Core، کوئریها را برچسبگذاری کنیم و سپس آنها را در ابزار SQL Server Profiler مشاهده و تحلیل کنیم. این آموزش مناسب برای توسعهدهندگان ASP.NET Core میباشد.
چرا مانیتورینگ کوئری مهم است؟
- در EF Core بهصورت خودکار کوئریهای LINQ را به SQL ترجمه میشود.
- در بسیاری از موارد، کوئریها میتوانند سنگین یا غیربهینه تولید شوند.
- علت کندی عملکرد مشخص میشود.
- کوئریهای زائد یا بدون ایندکس شناسایی میشوند.
- مسیر اجرای درخواست در اپلیکیشن قابل ردیابی میشود.
استفاده از Query Tag در EF Core
هدف آن اضافهکردن توضیح متنی (Tag) به کوئریهای EF Core جهت شناسایی راحتتر در ابزارهای مانیتورینگ است.
- متد TagWith فقط برای اهداف دیباگ و مانیتورینگ است.
- فقط در پایگاه دادههایی مانند SQL Server قابل مشاهده است.
- مقدار درجشده در Tag، در ابتدای کوئری SQL با فرمت — نمایش داده میشود.
var users = _context.Users
.TagWith("Get all active users for dashboard")
.Where(u => u.IsActive)
.ToList();SQL Server Profiler چیست؟
ابزاری از Microsoft برای مانیتورینگ لحظهای تمام فعالیتهای SQL Server. مثل کوئریها خواندن/نوشتنها مدت زمان اجرای کوئری اطلاعات مرتبط با CPU و I/O.
نحوه باز کردن SQL Server Profiler
محیط SQL Server Profiler
نتیجهگیری
با ترکیب Query Tag و SQL Server Profiler میتوان: منبع کندی کوئریها را پیدا کرد. مسیرهای اجرای API را تحلیل کرد. لاگها را دقیقتر دستهبندی کرد. و در نهایت به یک اپلیکیشن سریعتر و حرفهایتر دست یافت.
































فرم افزودن دیدگاه
با ارسال نظرات خود ما را در ایجاد محتوای بهتر کمک کنید.