| |||||
| لمحترفين mysql فقط اخوانى انا قمت بعمل سكربت لجامعة نتيجة وانشطة عديدة وكل شىء تمام وعدد زوار الاسكربت حين زاد فى أنتظار الطلاب نتيجتهم واجهت مشكلة اخرى ان الوود يرتفع بشكل كبير جدا على السيرفر وعدد الزوار يوصل فى اللحظة الواحد 2000 زائر والموقع يفتح ببطىء وهذا بسبب كثرة الأستعلامات فما هو الحل فى هذة الأستعلامات او ما الألية التى يتم استخدامها مع الاسكربتات التى يدخل عليها اعداد كبيرة وهل من الممكن عمل استعلام واحد يشمل جميع الأستعلامات مع وجود مثال وهل يوجد شىء فنى يتم استخدموا اثناء الأتصال بقاعدة البيانات او حل مثل الحلول التى تستخدم فى المنتديات ارجو من محترفين sql التدخل فى أنتظاركم أخوانى | |||||
|
| |||||
|
كما اشار اليك الاخوة و حاول استخدام اغلاق للاتصال بقواعد البيانات بعد الاستعلام .
__________________ htaccess بكل بساطة الشفرة الموحدة "يونِكود" (إن من مفاسد هذه الحضارة أنها تسمي الاحتيال ذكاءً، والانحلال حرية، و"الرذيلة فناً" والاستغلال معونة) - مصطفى السباعي | |||||
|
| |||||
|
التخزين المؤقت (cache) ليس حل لزيادة الحمل على الخادم ... تأكد من : - مواصفات الخادم وأنه يتحمل 2000 زائر وذلك باختبار كل زائر كم يستهلك من موارد النظام والقياس على ذلك . - تاكد من ان البرنامج لا ينفذ استعلامات او تعليمات غير محسوبه مما يسبب حمل على الخادم . الحل هو مراجعة النظام لان التخزين المؤقت يدخل في تحسين اداء البرنامج وليس معالجة اخطاء البرنامج , وهو ايضا يعتمد على طبيعة البرنامج نفسه , بعض البرامج مثل برامج العملات (forex) لا يمكن ان تعمل تخزين مؤفت في اي مكان كان يجب ان تكون البيانات فورية وغير متأخره .
__________________ I Love PHP (d4d@hotmail.com) http://www.daif.net/ | |||||
|
| |||||
|
السلام عليكم ورحمة اللة وبركاتة اخى dev11 انا اقول مثال من عندك تكتبوا وفى شىء مش قادر افهموا لو علمنا استعلام لأكثر من جدول حين عمل الووب النتائج تكون فى مصفوفة واحد ام هذا الأستعلام يعطى اكثر من مصفوفة مثلا مصفوفة للأقسام ومصفوفة للأعضاء وهكذا اريد مثال توضيحى | |||||
|
| |||||
|
انت بحاجة إلى اعادة تصميم الداتا بيز الخاص بك .. Database Design ، حيث يجب مراعاة الكثير من النقاط على حسب التحديثات الجارية ( زيادة عدد الزوار بشكل كبير ) .. - يكون هناك العديد من النقاط التي تؤخذ في الاعتبار ، مثلا الاحصائيات لا يجب ان تقوم لعملية احصائها فعليا ، بل يمكن تخزينها دوريا ( كل يوم مثلا ) في حقل معين .. - مثلا لو عندك اعضاء ولكل عضو عدد معين من المواد ، في صفحة العضو بدلا عن جلب عدد المواد في كل مرة ، يتم تحديد عدد المواد في حقل واحد عوضا عن جلبه كل مرة ( هذا باعتبار ان المواد لها جدول منفصل ) انصحك عزيزي ان تجد اي مقالة او كتاب يتحدث عن Database Optimization .. تقراه وتفهمه في يومين ثلاثة .. وبعدها تقوم بالتعديل على السكربت الخاص بك .. في يومين ثلاثة ايضا .. وتصل لنتيجة معقولة .. ملحوظة : 3 - 6 استعلامات في الصفحة = موقع ممتاز 7 - 10 استعلامات في الصفحة = متوسط ( يعني ممكن يسبب لود مع ضغط الزوار فقط ) فوق ال 10 يكون الوضع fair هناك الكثير من المواقع الكبيرة .. والتي تحوي العديد من المميزات و و و .. وتعمل كحد اقصى ب 7 - 9 استعلامات اولا حاول تعديل او تضبيط الداتا بيز ثانيا حاول استخدام الكاش في بعض المناطق التي بحاجة إليها تحياتي وبالتوفيق
__________________ النسخة الثانية من ابلود بلس قريبا جدا : + شريط مئوي لرفع الملفات + دعم اكثر من سيرفر لرفع الملفات Multi-Server + مكتبة ملفات مؤرشفة | |||||
|
| |||||
|
ابسط مثال .. والاكثر شيوعا .. مثلا لو عندك اخبار .. وفي صفحة الخبر نفسه تريد ان تقوم بعرض اسم القسم والرابط .. الطريقة التقليدية : كود PHP: 1- استخدمنا استعلامين 2- استخدمنا mysql_fetch_array والتي تقوم بارجاع القيم على شكل مصفوفتين واحدة associative ( نصية او مفاتيح المصفوفة تكون باسماء الحقول ) واخرى تكون بالارقام 0 1 2 << يمكنك التأكد او معاينة الوضع ب print_r او var_dump والاصح : كود PHP: 2- استخدمنا mysql_fetch_assoc والتي تقوم بارجاع مصفوفة واحدة مفاتيحها هي اسماء الحقول كذلك يمكن ان تقوي نفسك من خلال القراءة في ال inner join و outer join ، حيث انها تقوم بزيادة سرعة واداء الاستعلام بشكل ملحوظ .. تحياتي
__________________ النسخة الثانية من ابلود بلس قريبا جدا : + شريط مئوي لرفع الملفات + دعم اكثر من سيرفر لرفع الملفات Multi-Server + مكتبة ملفات مؤرشفة | |||||
|
| |||||
|
السلام عليكم ورحمة اللة وبركاتة أولا Egyptechno مشكور على كتابتك هذا المثال انا اريد مثل عمل أستعلام شامل أستعلامين واقدر أعمل لوب كل جدول لوحدوا مثلا كود PHP: وشكرا لك أخى الكريم | |||||
|
| |||||
|
عمل استعلامين لجدولين ليس لهما اي علاقة ببعض من قريب او بعيد .. لا يتم الا من خلال union كود PHP: ولكن الذي حاولت ومازلت احاول ان اوصله لك .. انه من الافضل والاصح والاكثر منطقية عند تواجد اكثر من استعلام لاكثر من جدول ليس لهم اي علاقة ببعض .. فمن الاصح ان يكون لكل جدول او لكل عملية استعلام خاص .. فحاول مراجعة العمليات اللي تتم .. من المستحيل ان يكون هناك 20 استعلام ل 20 عملية مختلفة في كل صفحة .. لابد ان يكون هناك عمليات من الممكن دمجها او تغيير طريقة التعامل معها .. بعيدا عن استخدام union او بعيدا عن الجداول المنفصلة .. بالتوفيق
__________________ النسخة الثانية من ابلود بلس قريبا جدا : + شريط مئوي لرفع الملفات + دعم اكثر من سيرفر لرفع الملفات Multi-Server + مكتبة ملفات مؤرشفة | |||||
|
![]() |
| |
| |
| أدوات الموضوع | |
| |
المواضيع المتشابهه | ||||
| الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
| محادثه مع نصاب | r7y | سوالف عامة | 50 | 01-10-2007 09:53 PM |
| لخريجي الثانوية معلومات هامة ( مواعيد القبول في الكليات والجامعات ) | بدر 821 | سوالف عامة | 7 | 19-08-2007 10:33 PM |
| فى 20 يوما فقط كن من حملة القرءان,مع دورة تغيير العقل ومضاعفة مقدار الحفظ الى 100 ضعف | زند الاسى | سوالف عامة | 10 | 19-07-2007 12:59 PM |
| في MySQL كيف أجعل الـ ID أحرف وأرقام بدلاً من الأرقام فقط ؟ | alwannah | PHP | 6 | 25-07-2005 09:40 AM |