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

مالفرق بين الاستعلامين مع أن النتيجه واحده ..

بدأه StUd_C في 5 مارس 2008 · 3 رد · 639 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
SELECT	 ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued,
(SELECT CategoryName FROM Categories WHERE Categories.CategoryID = Products.CategoryID) as CategoryName, (SELECT CompanyName FROM Suppliers WHERE Suppliers.SupplierID = Products.SupplierID) as SupplierName
FROM		 Products

SELECT	 Products.ProductID, Products.ProductName, Products.SupplierID, Products.CategoryID, Products.QuantityPerUnit, Products.UnitPrice, 
					  Categories.CategoryName, Suppliers.CompanyName
FROM		 Products INNER JOIN
					  Categories ON Products.CategoryID = Categories.CategoryID INNER JOIN
					  Suppliers ON Products.SupplierID = Suppliers.SupplierID

مع أن النتيجه واحده ..

تم تعديل هذه المشاركة بواسطة StUd_C في 5 مارس 2008 في 18:42

#2

السلام عليكم ورحمة الله

وهو فعلا لا فرق في النتيجة الظاهرة لكن يظهر الفرق في السرعة وخاصة على الجداول الكبيرة وفي الحالات التي بها جداول كثيرة لذلك لمعرفة اي طريقة اسرع يجب ان تطبقها على الحالات التي عندك من خلال عمل Execution Plan .

في حالة الجداول البسيطة لا اعتقد ان تجد هذا الفرق .

#3

أظن أن الاستعلام الثاني سيكون أفضل في أداؤه واستهلاكه الزمني وسرعته .. لأن الاستعلام الأول عبارة عن 3 استعلامات مركبة SubQuery أما الاستعلام الثاني فهو Query واحدة في جداول متداخلة Joined .. والله أعلم

طبعاً الفروق لن تظهر أبداً إلا لو كان البحث يتم على داتا كبيرة .. ولو كانت جداول عادية متوسطة أو صغيرة فلن يظهر أي فارق ..

وطبعاً أداء السيرفر وكذا بنية قاعدة البيانات Structure لهم دور في السرعة

ASP.NET Team Leader

moh_kin_mah@hotmail.com

--------------------------------

لو أعجبك أي من مشاركاتي ... برجاء قم بتقييم المشاركة عبر الأزرار الموجودة أسفل يسار كل مشاركة

#4
أظن أن الاستعلام الثاني سيكون أفضل في أداؤه واستهلاكه الزمني وسرعته

بشكل عام لا نستطيع ان نحكم بهذه الطريقة وانما بوضع الاستعلام تحت المجهر مثل استخدام كما قلت من قبل Execution Plan وغيرها وقد تختلف من استعلام لآخر حسب كمية البيانات والجدوال المستخدمة .

لكن تبقى INNER JOIN افضل من ناحية الشكل والفهم ومعرفة الجداول المستخدمة وما الى ذلك

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…