PDA

View Full Version : اجرای execution plan قبل از اجرای Query



rezataslimi_edu
چهارشنبه 25 تیر 1399, 12:45 عصر
سلام وقت بخیر من امروز باهمکارم درمورد یک مسئله به مشکل خوردیم .

همکار من میگه اسکیوال هر برا که میخواد select رو اجرا کنه تو لوکال خودش قبل از اینکه کل دستورات رو بخواد اجرا کنه ابتدا یه execution plan ازش ایجاد میکنه میخواستم بدونم این حرف صحیح هست یا نه؟

bitasoft.ir
چهارشنبه 22 شهریور 1402, 21:34 عصر
عملکرد SQL Server و اکثر سیستم‌های مدیریت داده (DBMS) مخصوصا در نسخه های جدید به گونه‌ای است که قبل از اجرای یک کوئری SELECT، بهینه‌ساز کوئری (Query Optimizer) برای آن یک نقشه اجرایی (Execution Plan) ایجاد می‌کند. این نقشه اجرایی (Execution Plan) شامل راهبردی است که دیتابیس برای اجرای کوئری انتخاب می‌کند. این بهینه‌ساز نقشه اجرایی را به گونه‌ای ایجاد می‌کند که کوئری با سرعت و کارایی بهتری اجرا شود.
در واقع، Execution Plan شامل مسیر اجرایی که برای کوئری انتخاب شده است و ترتیب اجرای عملیات‌ها (مانند عملیات‌های JOIN، فیلتر، مرتب‌سازی و ...) را نشان می‌دهد. این نقشه بهینه‌سازی توسط بهینه‌ساز کوئری بر اساس آمارهای موجود در جداول و ایندکس‌ها، میزان حجم داده، و شرایط کوئری ایجاد می‌شود.
بنابراین، حرف همکار شما درست است. SQL Server و دیگر DBMS‌ها Execution Plan را قبل از اجرای کوئری ایجاد می‌کنند تا از بهینه‌ترین راهبرد برای اجرای کوئری استفاده کنند. این نقشه بهینه‌سازی کوئری برای بهبود عملکرد و کارایی استفاده می‌شود و معمولاً بر اساس آن اجرای کوئری انجام می‌شود.


سلام وقت بخیر من امروز باهمکارم درمورد یک مسئله به مشکل خوردیم .

همکار من میگه اسکیوال هر برا که میخواد select رو اجرا کنه تو لوکال خودش قبل از اینکه کل دستورات رو بخواد اجرا کنه ابتدا یه execution plan ازش ایجاد میکنه میخواستم بدونم این حرف صحیح هست یا نه؟