استفاده از EXISTS به جای IN

در این قسمت از آموزش اوراکل، بخش SQL Tuning قصد داریم آموزش استفاده از EXISTS در اوراکل و استفاده از EXISTS به جای IN را یاد بگیریم.

با استفاده از دستور IN مقادیری که در لیست می باشد کوئری های نهایی را نمایش می دهد و با استفاده از دستور EXISTS رکورد هایی را نمایش میدهد که subquery مربوطه رکورد داشته باشد وبا توجه به خروجی subquery خروجی نهایی رکورد نمایش می دهد.

البته EXISTS یک تفاوت هایی با دستور IN دارد از جمله : دستور EXISTS فقط موجودت رکوردهای subquery را بررسی می کند اما دستور IN فقط مقادیر واقعی که در لیست وارد شده را بررسی می کند و میتوان خروجی subquery را به عنوان ورودی IN قرار بگیرد اما به جهت افزایش بهره وری performance کوئری و تسریع در خروجی کوئری و دستورات SQL پیشنهاد می شود از دستور EXISTS به جای IN استفاده کنید.

SQL-Tuning
مثالی از IN
مثال از EXISTS

استفاده از EXISTS به جای DISTINCT

شما با استفاده از دستور DISTINCT می توانید رکورد های تکراری مدیریت کرده و آنها را نمایش نداده و فقط یک مورد از رکورد های تکراری را نمایش دهید و البته با دستور EXISTS رکورد هایی را در خروجی subquery نمایش می دهد که فقط رکورد های غیر تکراری باشد و به این منظور رکورد های تکراری را فقط یک مورد از آنرا نمایش می دهد و خود دستور EXISTS رکورد های تکراری را نمایش نمی دهد.

اوراکل به جهت افزایش بهره وری performance کوئری و تسریع در خروجی کوئری و دستورات SQL پیشنهاد می شود از دستور EXISTS به جای DISTINCT استفاده کنید به دلیل اینکه دستور DISTINCT ابتدا پردازشی را صرف خروجی تمامی رکورد ها می کند و سپس با پروسسی دیگر رکورد های تکراری را نمایش نمی دهد اما دستور EXISTS با یک پردازش تمامی فرآیند را انجام می دهد.

SQL-Tuning
مثالی از Distinct
آموزش اوراکل
مثالی از Exists

اطلاعات بیشتر در مورد SQL Tuning

دیدگاه خود را بنویسید:

آدرس ایمیل شما نمایش داده نخواهد شد.

*

code

فوتر سایت