View Full Version : آیا افزودن شروط اضافی در WHERE تاثیر مثبت دارد یا منفی؟
Omid_Manam
یک شنبه 05 خرداد 1398, 11:08 صبح
سلام دوستان شاید برای شما هم به وجود اومده که وقتی در حال نوشتن یک کوئری هستید در بخش شرط گذاری میتونید یکسری شروط را بذارید یا نگذارید و در خروجی شما تاثیری نداره ولی آیا در سرعت و عملکرد SQL تاثیر داره یا نه رو نمیدونم. مثال میزنم تا واضح تر بشه .
تصور کنید شما جدولی به این شکل دارید
id
parentid
collectionid
1
null
1
2
1
1
3
null
2
4
1
1
5
2
1
6
3
2
حالا با توجه به این اطلاعات اگه شما در شرط اینجوری بنویسی
Where parentid = 1
با اینکه اینجوری بنویسید
Where parentId = 1 And CollectionId = 1
خروجی هر دوتا یکسان هست و خلاف این هم هرگز رخ نمیده ولی از نظر sql کدوم بهتره یا اصلا فرقی نداره
پیشاپیش از اینکه علمتون را با دیگران به اشتراک میگذارید ممنونم :تشویق:
mmbguide
چهارشنبه 08 خرداد 1398, 16:12 عصر
سلام
البته اگر همیشه همه چیز همنطور ثابت باشد در جواب تفاوتی نمیکنه ولی شرط های زیر رو بررسی کنیم که ممکنه اتفاق بیوفته:
هر دو شرط زیر 2 ردیف نمایش میده
Where parentid = 1
Where parentId = 1 And CollectionId = 1
هر دو شرط زیر ردیف های یکسان نمایش نمیده
Where parentid = Null
Where parentId = Null And CollectionId = 1
ولی با توجه به اینکه در بررسی شرط ها قطعا توسط SQL باید اقداماتی انجام بشه، و با توجه به حجم اطلاعات درخواست شده از SQL، حتما در کارکرد SQL تاثیرگذار خواهد بود. البته بیشتر در جداول بسیار حجیم و کاربران متعدد این مورد بیشتر به چشم میاد. البته نظر اساتید SQL رو هم بدونید خیلی بهتره و من از نظر تجربه خودم گفتم
Omid_Manam
پنج شنبه 09 خرداد 1398, 11:56 صبح
سلام
البته اگر همیشه همه چیز همنطور ثابت باشد در جواب تفاوتی نمیکنه ولی شرط های زیر رو بررسی کنیم که ممکنه اتفاق بیوفته:
هر دو شرط زیر 2 ردیف نمایش میده
Where parentid = 1
Where parentId = 1 And CollectionId = 1
هر دو شرط زیر ردیف های یکسان نمایش نمیده
Where parentid = Null
Where parentId = Null And CollectionId = 1
ولی با توجه به اینکه در بررسی شرط ها قطعا توسط SQL باید اقداماتی انجام بشه، و با توجه به حجم اطلاعات درخواست شده از SQL، حتما در کارکرد SQL تاثیرگذار خواهد بود. البته بیشتر در جداول بسیار حجیم و کاربران متعدد این مورد بیشتر به چشم میاد. البته نظر اساتید SQL رو هم بدونید خیلی بهتره و من از نظر تجربه خودم گفتم
ممنون از نظرت دوست عزیز، درسته شروط مختلف قطعا نتایج متفاوتی خواهد داشت، ولی مد نظر من دقیقا چیزی که گفتم بود، شروطی که بود و نبودشون فرقی نداره،
منتظر نظر دیگر دوستان هم هستم
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.