صفحة 1 من 2 12 الأخيرةالأخيرة
النتائج 1 إلى 15 من 18

الموضوع: لمحترفين mysql فقط

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Feb 2008
    المشاركات
    281

    لمحترفين mysql فقط



    السلام عليكم ورحمة اللة وبركاتة

    اخوانى انا قمت بعمل سكربت لجامعة نتيجة وانشطة عديدة وكل شىء تمام

    وعدد زوار الاسكربت حين زاد فى أنتظار الطلاب نتيجتهم واجهت مشكلة اخرى ان الوود يرتفع بشكل كبير جدا على السيرفر وعدد الزوار يوصل فى اللحظة الواحد 2000 زائر والموقع يفتح ببطىء وهذا بسبب كثرة الأستعلامات

    فما هو الحل فى هذة الأستعلامات او ما الألية التى يتم استخدامها مع الاسكربتات التى يدخل عليها اعداد كبيرة

    وهل من الممكن عمل استعلام واحد يشمل جميع الأستعلامات مع وجود مثال

    وهل يوجد شىء فنى يتم استخدموا اثناء الأتصال بقاعدة البيانات او حل مثل الحلول التى تستخدم فى المنتديات

    ارجو من محترفين sql التدخل

    فى أنتظاركم أخوانى







  2. #2
    عضو نشيط
    تاريخ التسجيل
    Jan 2008
    المشاركات
    97


    اخى ما هو متوسط عدد الاستعلامات بكل صفحة ؟؟






  3. #3
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    613


    إستخدم نظم القوالب التي تحتوي على خاصية الـ cache ، أو إن أردت إستخدم الـ mysql query cache






  4. #4
    عضو فعال جدا
    تاريخ التسجيل
    Jun 2003
    المشاركات
    2,123


    كما اشار اليك الاخوة و حاول استخدام اغلاق للاتصال بقواعد البيانات بعد الاستعلام .





    __________________
    htaccess بكل بساطة

    الشفرة الموحدة "يونِكود"

    (إن من مفاسد هذه الحضارة أنها تسمي الاحتيال ذكاءً، والانحلال حرية، و"الرذيلة فناً" والاستغلال معونة) - مصطفى السباعي

  5. #5
    عضو نشيط
    تاريخ التسجيل
    Feb 2008
    المشاركات
    281


    السلام عليكم

    drabdalla متوسط عدد الأستعلامات 20 فى كل صفحة
    -
    dev11 ممكن تكتب لى مثال بسيط لعمل كاش للأستعلام
    -
    jadweb.com انا أقوم بغلق الأتصال فى نهاية الصفحة


    لاكنى يا اخوانى افضل أستعلام واحد يشمل جميع الأستعلامات

    فى أنتظاركم






  6. #6
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    613

  7. #7
    عضو شرف
    تاريخ التسجيل
    Apr 2002
    المشاركات
    1,379


    التخزين المؤقت (cache) ليس حل لزيادة الحمل على الخادم ... تأكد من :
    - مواصفات الخادم وأنه يتحمل 2000 زائر وذلك باختبار كل زائر كم يستهلك من موارد النظام والقياس على ذلك .
    - تاكد من ان البرنامج لا ينفذ استعلامات او تعليمات غير محسوبه مما يسبب حمل على الخادم .
    الحل هو مراجعة النظام لان التخزين المؤقت يدخل في تحسين اداء البرنامج وليس معالجة اخطاء البرنامج , وهو ايضا يعتمد على طبيعة البرنامج نفسه , بعض البرامج مثل برامج العملات (forex) لا يمكن ان تعمل تخزين مؤفت في اي مكان كان يجب ان تكون البيانات فورية وغير متأخره .





    __________________
    ضيف الله العتيبي مبرمج حر و مهندس معتمد من زيند (ZCE)
    الاتصال: daif@daif.net او جوال: 0556639884
    الخدمات: تقديم استشارات برمجيه, تطوير بوابات/خدمات إلكترونيه للقطاع العام او الخاص .

  8. #8
    عضو نشيط
    تاريخ التسجيل
    Feb 2008
    المشاركات
    281


    السلام عليكم ورحمة اللة وبركاتة

    أخى daif مواصفات السيرفر قوية جدآ وتتحمل زيارات أكثر من هذا بالنسبة للأستعلامات لو أصبحوا فى أستعلام واحد هل تحل المشكلة

    وممكن ان تكتب مثال لأستعلام يشمل أكثر من أستعلام

    -






  9. #9
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    613


    كود PHP:
    select name from table1 where id in (select id from table2







  10. #10
    عضو نشيط
    تاريخ التسجيل
    Feb 2008
    المشاركات
    281


    اخى الكريم انا اريد استعلام واحد يشمل استعلامات مثلا استعلام لجلب احدث عشر أضافات واقسام الموقع واحدث عشر أعضاء

    ارجو كتابة استعلام مشابة للوظائف هذة






  11. #11
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    613


    لايمكن ذلك ، لابد من الإستعلام عن كل وظيفة تريدها






  12. #12
    عضو نشيط
    تاريخ التسجيل
    Feb 2008
    المشاركات
    281


    السلام عليكم ورحمة اللة وبركاتة

    اخى dev11 انا اقول مثال من عندك تكتبوا

    وفى شىء مش قادر افهموا لو علمنا استعلام لأكثر من جدول حين عمل الووب النتائج تكون فى مصفوفة واحد

    ام هذا الأستعلام يعطى اكثر من مصفوفة مثلا مصفوفة للأقسام ومصفوفة للأعضاء وهكذا

    اريد مثال توضيحى






  13. #13
    عضو فعال
    تاريخ التسجيل
    Jul 2003
    المشاركات
    1,576


    انت بحاجة إلى اعادة تصميم الداتا بيز الخاص بك .. Database Design ، حيث يجب مراعاة الكثير من النقاط على حسب التحديثات الجارية ( زيادة عدد الزوار بشكل كبير ) ..

    - يكون هناك العديد من النقاط التي تؤخذ في الاعتبار ، مثلا الاحصائيات لا يجب ان تقوم لعملية احصائها فعليا ، بل يمكن تخزينها دوريا ( كل يوم مثلا ) في حقل معين ..

    - مثلا لو عندك اعضاء ولكل عضو عدد معين من المواد ، في صفحة العضو بدلا عن جلب عدد المواد في كل مرة ، يتم تحديد عدد المواد في حقل واحد عوضا عن جلبه كل مرة ( هذا باعتبار ان المواد لها جدول منفصل )


    انصحك عزيزي ان تجد اي مقالة او كتاب يتحدث عن Database Optimization .. تقراه وتفهمه في يومين ثلاثة .. وبعدها تقوم بالتعديل على السكربت الخاص بك .. في يومين ثلاثة ايضا ..

    وتصل لنتيجة معقولة ..


    ملحوظة :
    3 - 6 استعلامات في الصفحة = موقع ممتاز
    7 - 10 استعلامات في الصفحة = متوسط ( يعني ممكن يسبب لود مع ضغط الزوار فقط )
    فوق ال 10 يكون الوضع fair

    هناك الكثير من المواقع الكبيرة .. والتي تحوي العديد من المميزات و و و .. وتعمل كحد اقصى ب 7 - 9 استعلامات


    اولا حاول تعديل او تضبيط الداتا بيز
    ثانيا حاول استخدام الكاش في بعض المناطق التي بحاجة إليها


    تحياتي وبالتوفيق





    __________________
    SWF Thumbnail - tweet me

  14. #14
    عضو نشيط
    تاريخ التسجيل
    Feb 2008
    المشاركات
    281


    السلام عليكم ورحمة اللة وبركاتة

    شكرا لك Egyptechno للنصائح الهامة

    ممكن مثال لأستعلام يشمل عدة أستعلامات مع توضيح لكيفية طباعة كل مصفوفةخاصة بكل جدول






  15. #15
    عضو فعال
    تاريخ التسجيل
    Jul 2003
    المشاركات
    1,576


    ابسط مثال .. والاكثر شيوعا .. مثلا
    لو عندك اخبار .. وفي صفحة الخبر نفسه تريد ان تقوم بعرض اسم القسم والرابط ..

    الطريقة التقليدية :
    كود PHP:
    $sql mysql_query("select * from news where news_id = '$id' ");
    $row mysql_fetch_array($sql);
    mysql_query("select cat_name from cats where cat_id = '$row[cat_id]' "); 
    هنا ، يوجد نقطتين :
    1- استخدمنا استعلامين
    2- استخدمنا mysql_fetch_array والتي تقوم بارجاع القيم على شكل مصفوفتين واحدة associative ( نصية او مفاتيح المصفوفة تكون باسماء الحقول ) واخرى تكون بالارقام 0 1 2
    << يمكنك التأكد او معاينة الوضع ب print_r او var_dump


    والاصح :
    كود PHP:
    $sql mysql_query("select news.*, cats.cat_name from news, cats where news_id = '$id' AND news.cat_id = cats.cat_id ");
    $row mysql_fetch_assoc($sql); 
    1- صار استعلام واحد
    2- استخدمنا mysql_fetch_assoc والتي تقوم بارجاع مصفوفة واحدة مفاتيحها هي اسماء الحقول


    كذلك يمكن ان تقوي نفسك من خلال القراءة في ال inner join و outer join ، حيث انها تقوم بزيادة سرعة واداء الاستعلام بشكل ملحوظ ..

    تحياتي





    __________________
    SWF Thumbnail - tweet me





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض