الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

شباب Sql إستعلام بسيط أيهما أسرع ؟

بدأه HGB في 1 مارس 2008 · 2 رد · 1,038 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بالنسبة للإستعلام التالي , أيهما أفضلا أداءً :

select * from table where q="val1" or q="val2" or q="val3" ... or q="valn";

أم

select * from table where q In("val1","val2",val3",..."valn");

لاحظو بالنسبة لطول الجملة الثانية أقصر طبعا , وهذا الإستعلام قد يتضمن أكثر من 1000 قيمة val1-val1000 ,

هل SQL يقوم بأي عمليات داخلية يسرع فيها إحدى العمليتين ؟ الإستعلام يتم حوالي 40 ألف مرة يوميا في المنتدى لذلك فرق الأداء ولو كان بسيط سيؤثر قليلا .

سأنقله لقسم SQL لو وجد تفاعل سريع لتعم الفائدة ..

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#2

السلام عليكم

MySQL : Optimizing subqueries

منها

LEFT TO RIGHT

Use x = ANY (table containing (1,2)) rather than x=1 OR x=2.

-----

ملحوظة : اسف إن مكنتش حقدر اتابع فى الموضوع , عشان حكون فى طريقى من تانى ﻷرض المعركة إن شاء الله بعد دقائق :)

Web Citizen

ShrefInLife.gif

__________

General blog : Shref In Life

#3

السلام عليكم

رابط ممتاز.

ويمكن معرفة ذلك من خلال تجربة الاستعلام بكلتي الطريقتين بحيث يعيدان نفس النتائج ومن ثم عرض الاحصائيات statistics عبر set statistics time and set statistics IO و CPU statistics and time elapsed........

الذهب الخالص

مواضيع مشابهة