نمایش نتایج: از شماره 1 تا 2 , از مجموع 2

موضوع: كمپرس كردن يك تيبل

  1. #1
    عضو جدید sayeh آواتار ها
    تاریخ عضویت
    Jan 2010
    نوشته ها
    45
    تشکر تشکر کرده 
    108
    تشکر تشکر شده 
    11
    تشکر شده در
    8 پست

    پیش فرض كمپرس كردن يك تيبل

    با سلام خدمت تمام دوستان اهل فن
    آقا من از يك اسكريپت استفاده ميكنم كه به ازاري هر كاربر در يك تيبل به نام se_users يك بخش اضافه ميشود و با زياد شدن تعداد كاربران مقدار query مصرفي خيلي بالا رفته و سرعت سايت به شدت افت ميكند. حالا از اهالي فن خواهش ميكنم كه من رو راهنمايي كنند. و اگر كسي توانايي برطرف اين مشكل رو داره لطفا كمك كنه و هزينش رو پرداخت ميكنم.
    اينم يك خروجي از query سايت
    کد:
    SELECT se_actions.*, se_actiontypes.actiontype_icon, se_actiontypes.actiontype_text, se_actiontypes.actiontype_media FROM se_actions LEFT JOIN se_actiontypes ON se_actions.action_actiontype_id=se_actiontypes.actiontype_id WHERE CASE WHEN se_actions.action_object_owner='user' THEN CASE WHEN se_actions.action_user_id='1964' THEN TRUE WHEN ((se_actions.action_object_privacy & @SE_PRIVACY_REGISTERED) AND '1'<>0) THEN TRUE WHEN ((se_actions.action_object_privacy & @SE_PRIVACY_ANONYMOUS) AND '1'=0) THEN TRUE WHEN ((se_actions.action_object_privacy & @SE_PRIVACY_SELF) AND se_actions.action_object_owner_id='1964') THEN TRUE WHEN ((se_actions.action_object_privacy & @SE_PRIVACY_FRIEND) AND (SELECT TRUE FROM se_friends WHERE friend_user_id1=se_actions.action_object_owner_id AND friend_user_id2='1964' AND friend_status='1' LIMIT 1)) THEN TRUE WHEN ((se_actions.action_object_privacy & @SE_PRIVACY_SUBNET) AND '1'<>0 AND (SELECT TRUE FROM se_users WHERE user_id=se_actions.action_object_owner_id AND user_subnet_id='0' LIMIT 1)) THEN TRUE WHEN ((se_actions.action_object_privacy & @SE_PRIVACY_FRIEND2) AND (SELECT TRUE FROM se_friends AS friends_primary LEFT JOIN se_users ON friends_primary.friend_user_id1=se_users.user_id LEFT JOIN se_friends AS friends_secondary ON friends_primary.friend_user_id2=friends_secondary.friend_user_id1 WHERE friends_primary.friend_user_id1=se_actions.action_object_owner_id AND friends_secondary.friend_user_id2='1964' AND se_users.user_subnet_id='0' LIMIT 1)) THEN TRUE ELSE FALSE END WHEN se_actions.action_object_owner='group' THEN CASE WHEN ((se_actions.action_object_privacy & 64) AND '1'<>0) THEN TRUE WHEN ((se_actions.action_object_privacy & 128) AND '1'=0) THEN TRUE WHEN ((se_actions.action_object_privacy & 4) AND (SELECT TRUE FROM se_groupmembers WHERE groupmember_group_id=se_actions.action_object_owner_id AND groupmember_user_id='1964' AND groupmember_status='1' LIMIT 1)) THEN TRUE WHEN ((se_actions.action_object_privacy & 8) AND (SELECT TRUE FROM se_friends JOIN se_groups ON se_friends.friend_user_id1=se_groups.group_user_id WHERE se_groups.group_id=se_actions.action_object_owner_id AND friend_user_id2='1964' AND friend_status='1' LIMIT 1)) THEN TRUE WHEN ((se_actions.action_object_privacy & 16) AND (SELECT TRUE FROM se_friends JOIN se_groupmembers ON se_friends.friend_user_id1=se_groupmembers.groupmember_user_id WHERE se_groupmembers.groupmember_group_id=se_actions.action_object_owner_id AND groupmember_status='1' AND friend_user_id2='1964' AND friend_status='1' LIMIT 1)) THEN TRUE WHEN ((se_actions.action_object_privacy & 32) AND (SELECT TRUE FROM se_groupmembers LEFT JOIN se_friends AS friends_primary ON se_groupmembers.groupmember_user_id=friends_primary.friend_user_id1 LEFT JOIN se_friends AS friends_secondary ON friends_primary.friend_user_id2=friends_secondary.friend_user_id1 WHERE groupmember_status='1' AND groupmember_group_id=se_actions.action_object_owner_id AND friends_primary.friend_status='1' AND friends_secondary.friend_status='1' AND friends_secondary.friend_user_id2='1964' LIMIT 1)) THEN TRUE ELSE FALSE END ELSE TRUE END AND (se_actions.action_user_id='3336') AND se_actions.action_date>1283893009 ORDER BY action_date DESC LIMIT 35

    با تشكر
    با كيفيت بالا و هزينه پايين تبليغات كنيد :
    تبليغات كليكي جامعه مجازي سايه پاسخگويي نيازهاي شماست

  2. # ADS




     

  3. #2
    عضو دائم Rezash آواتار ها
    تاریخ عضویت
    Feb 2010
    محل سکونت
    مشهد
    نوشته ها
    1,923
    تشکر تشکر کرده 
    889
    تشکر تشکر شده 
    2,385
    تشکر شده در
    1,535 پست

    پیش فرض پاسخ : كمپرس كردن يك تيبل

    بررسي و نظر دادن در اين مورد بدون داشتن اطلاعات كامل تقريبا نا ممكن هست .
    بايد يك بررسي دقيق روي سورس ، ساختار ديتابيس انجام بشه تا بشه نظر دقيقي رو داد
    بعضا ايجاد تغيير در ساختار جداول براي بهينه سازي به خصوص در حجم بالا خيلي سخت ميشه و برنامه نويس بايد از قبل به فكر اين موارد باشه...
    بسته نحوه كد نويسي و ساختار ديتابيس برنامه نويس ميتونه تشخيص كدوم كوئري ها اضافي هستند، با چه شيوه هايي ميشه حداقل فشار ممكن رو داشته باشيم،چه اطلاعاتي رو كش كنيم و چه اطلاعاتي رو مستقيما بگيريم
    اگر بتونيد برنامه نويس اصلي سيستم رو پيدا كنيد با توجه به تسلطي كه بر كدش داره بهتر از همه ميتونه كمكتون كنه
    بک آپ بگیرید قبل از آنکه پشیمان شوید!
    تشخیص سیستم مدیریت محتوای سایت - سایت شخصی

  4. تعداد تشکر ها از Rezash به دلیل پست مفید


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. احتياج به يك پنل كاربري دارم كه كاملترين بانك شماره را داشته باشه
    توسط rased در انجمن درخواست پنل پیام کوتاه،پیام رسان اجتماعی،تلفن مجازی
    پاسخ ها: 18
    آخرين نوشته: June 4th, 2014, 14:11
  2. واگذاري امتياز يك عدد سرور EQ4 از Hetzner
    توسط 1Mizban در انجمن فروش سرور اختصاصی
    پاسخ ها: 11
    آخرين نوشته: November 12th, 2013, 07:42
  3. معرفي يك هاست قوي با پشتيباني خوب
    توسط PatronHost.com در انجمن درخواست سرویس
    پاسخ ها: 13
    آخرين نوشته: December 7th, 2012, 19:55
  4. پاسخ ها: 4
    آخرين نوشته: December 20th, 2011, 00:11

مجوز های ارسال و ویرایش

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