نمایش نتایج 1 تا 3 از 3

نام تاپیک: آیا افزودن شروط اضافی در WHERE تاثیر مثبت دارد یا منفی؟

  1. #1

    آیا افزودن شروط اضافی در WHERE تاثیر مثبت دارد یا منفی؟

    سلام دوستان شاید برای شما هم به وجود اومده که وقتی در حال نوشتن یک کوئری هستید در بخش شرط گذاری میتونید یکسری شروط را بذارید یا نگذارید و در خروجی شما تاثیری نداره ولی آیا در سرعت و عملکرد 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 کدوم بهتره یا اصلا فرقی نداره

    پیشاپیش از اینکه علمتون را با دیگران به اشتراک میگذارید ممنونم

  2. #2
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,172

    نقل قول: آیا افزودن شروط اضافی در WHERE تاثیر مثبت دارد یا منفی؟

    سلام

    البته اگر همیشه همه چیز همنطور ثابت باشد در جواب تفاوتی نمیکنه ولی شرط های زیر رو بررسی کنیم که ممکنه اتفاق بیوفته:

    هر دو شرط زیر 2 ردیف نمایش میده
    Where parentid = 1
    Where parentId = 1 And CollectionId = 1

    هر دو شرط زیر ردیف های یکسان نمایش نمیده
    Where parentid = Null
    Where parentId = Null And CollectionId = 1

    ولی با توجه به اینکه در بررسی شرط ها قطعا توسط SQL باید اقداماتی انجام بشه، و با توجه به حجم اطلاعات درخواست شده از SQL، حتما در کارکرد SQL تاثیرگذار خواهد بود. البته بیشتر در جداول بسیار حجیم و کاربران متعدد این مورد بیشتر به چشم میاد. البته نظر اساتید SQL رو هم بدونید خیلی بهتره و من از نظر تجربه خودم گفتم

  3. #3

    نقل قول: آیا افزودن شروط اضافی در WHERE تاثیر مثبت دارد یا منفی؟

    نقل قول نوشته شده توسط mmbguide مشاهده تاپیک
    سلام

    البته اگر همیشه همه چیز همنطور ثابت باشد در جواب تفاوتی نمیکنه ولی شرط های زیر رو بررسی کنیم که ممکنه اتفاق بیوفته:

    هر دو شرط زیر 2 ردیف نمایش میده
    Where parentid = 1
    Where parentId = 1 And CollectionId = 1

    هر دو شرط زیر ردیف های یکسان نمایش نمیده
    Where parentid = Null
    Where parentId = Null And CollectionId = 1

    ولی با توجه به اینکه در بررسی شرط ها قطعا توسط SQL باید اقداماتی انجام بشه، و با توجه به حجم اطلاعات درخواست شده از SQL، حتما در کارکرد SQL تاثیرگذار خواهد بود. البته بیشتر در جداول بسیار حجیم و کاربران متعدد این مورد بیشتر به چشم میاد. البته نظر اساتید SQL رو هم بدونید خیلی بهتره و من از نظر تجربه خودم گفتم
    ممنون از نظرت دوست عزیز، درسته شروط مختلف قطعا نتایج متفاوتی خواهد داشت، ولی مد نظر من دقیقا چیزی که گفتم بود، شروطی که بود و نبودشون فرقی نداره،
    منتظر نظر دیگر دوستان هم هستم

تاپیک های مشابه

  1. کار این کدها چی؟
    نوشته شده توسط aleas2 در بخش برنامه نویسی در 6 VB
    پاسخ: 3
    آخرین پست: سه شنبه 17 آبان 1390, 22:36 عصر
  2. e.handle اگه true باشه یعنی چی؟ اگه false باشه یعنی چی؟
    نوشته شده توسط sajad_3dmax در بخش C#‎‎
    پاسخ: 1
    آخرین پست: پنج شنبه 31 شهریور 1390, 11:15 صبح
  3. فرستادن میل به یاه.! زود زود
    نوشته شده توسط armin_izer در بخش برنامه نویسی در 6 VB
    پاسخ: 9
    آخرین پست: پنج شنبه 22 اردیبهشت 1384, 17:22 عصر
  4. پاکسازی بخش وی بی.زود زود!!!!!
    نوشته شده توسط armin_izer در بخش برنامه نویسی در 6 VB
    پاسخ: 2
    آخرین پست: یک شنبه 18 اردیبهشت 1384, 22:22 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •