ممکن است گاهی متوجه عملیات مرتب سازی (SORT) در دستورات خود نشوید.SORT معمولا در موارد زیر استفاده می شود:
- CREATE INDEX
- GROUP BY
- ORDER BY
- INTERSECT
- MINUS
- UNION
- DISTINCT
- Unindexed table joins
- Some correlated subqueries
1- از distinct اجتناب کنید مگر اینکه واقعا نیاز باشد.
2- از UNION ALL به جای UNION استفاده شود مگر اینکه نیاز باشد رکوردهای مشابه حذف گردند.
3- سعی کنید از HASH JOIN بجای SORT_MERGE_JOIN استفاده شود.ضمنا استفاده از HINTها باعث می شود OPTIMIZER از INDEX HINT های مناسب استفاده کند تا از SORTها جلوگیری شود.مثلا cost based optimizer از عملیات SORT اجتناب می کند وقتیکه FIRST_ROWS hint استفاده شود.
4- از مناسبترین ایندکسها در کد خود استفاده کنید.
چنانچه در مانیتورینگ با مشکلاتی ناشی از SORT مواجه شدید افزایش مقدار پارامتر SORT_AREA_SIZE متناظر با میزان کل فضای حافظه قابل ملاحظه است.
- ۰ نظر
- ۲۴ اسفند ۹۶ ، ۱۲:۴۳
- ۴۴۰ نمایش