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

نام تاپیک: آیا دستور دیگری شبیه به group by داریم

  1. #1
    کاربر دائمی آواتار sma_mohseni
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    قم
    پست
    194

    آیا دستور دیگری شبیه به group by داریم

    سلام
    بنده با کوئری زیر مشکل دارم

    SELECT *
    FROM `test`
    LEFT JOIN test2 ON test.id = test2.pid
    WHERE content LIKE '%است%'
    GROUP BY test.id
    HAVING test2.b_name LIKE '%ا%'
    LIMIT 0 , 30

    مشکل آنجاست که وقتی تعداد رکوردهای جدول test و test2 زیاد باشد (هر کدام حدود 5000) سرعت بسیار پایین می آید . البته بعد از تست متوجه شدم که group by باعث کندی سرعت میشود. یعنی اگر group by را از کوئری بالا حذف کنم سرعت آن قابل قبول میشود.
    حالا میخواهم بدونم آیا راه دیگری هست که همین کار بالا را انجام بده ولی سرعت آن خوب باشد
    متشکرم

  2. #2
    مطمئن هستید کوئری بالا رو کامل نوشتید؟
    اصلا این کوئری جواب میده؟
    You never know what you can do until you try

  3. #3
    کاربر دائمی آواتار sma_mohseni
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    قم
    پست
    194
    آره کاری میکنه امتحانش کردم ولی سرعتش بسیار پایین است

  4. #4
    آخه ظاهر و منطق این کوئری اشتباهه.
    چه کاری میخواید انجام بدید
    You never know what you can do until you try

  5. #5
    آخه ظاهر و منطق این کوئری اشتباهه.
    جناب mzjahromi از یک سری توابع که در mysql شناخته شده اند اینجا استفاده شده. که توی mysql درست کار می کنه.
    و البته طبق فرمایش شما اگه با دیتابیس دیگه ای بود باید تغییر می کرد.

    البته از نظر ایراد منطقی من هم با شما موافقم که این مشکل داره:)

  6. #6
    کاربر دائمی آواتار sma_mohseni
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    قم
    پست
    194
    فکر کنم مشکل حل شد
    وقتی کوئری بالا را بصورت زیر تغییر میدهم سرعت خوب میشه

    SELECT *
    FROM `test`
    LEFT JOIN test2 ON test.id = test2.pid
    WHERE content LIKE '%است%' and test2.b_name LIKE '%ا%'
    group by test.id

    تنها تفاوت این کوئری با بالایی اینه که Having را حذف کردم و شرط اونو با where یکجا نوشتم

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

  1. Top n در Group By
    نوشته شده توسط dkhatibi در بخش SQL Server
    پاسخ: 9
    آخرین پست: شنبه 13 بهمن 1386, 06:19 صبح
  2. Group By روی تاریخ میلادی بصورت شمسی
    نوشته شده توسط merced در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 13
    آخرین پست: جمعه 21 اردیبهشت 1386, 22:10 عصر
  3. Group by با محدودیت روی فیلدهای دیگر
    نوشته شده توسط p_plusplus در بخش SQL Server
    پاسخ: 4
    آخرین پست: سه شنبه 19 مهر 1384, 21:59 عصر
  4. Group by
    نوشته شده توسط حمیدرضاصادقیان در بخش SQL Server
    پاسخ: 2
    آخرین پست: پنج شنبه 03 شهریور 1384, 20:00 عصر
  5. group by
    نوشته شده توسط archi در بخش SQL Server
    پاسخ: 3
    آخرین پست: چهارشنبه 11 آذر 1383, 14:24 عصر

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

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