النتائج 1 إلى 7 من 7

الموضوع: لدى حلين لمعرفة عدد السجلات اى الحلول تنصحوتى

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

    لدى حلين لمعرفة عدد السجلات اى الحلول تنصحوتى



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

    اخونى الكرام لدى حلان لمعرفة عدد السجلات فى قاعدة البيانات انا اريد اسرعهما لان لدى عدد سجلات تفوق الملايين

    الحل الأول با استخدام count

    والثانى بأستخدام show index

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


    ومما لاشك فية أن هذة الحلول أفضل بكثير من mysql_num_rows

    كود PHP:
    <?
    $link 
    mysql_connect('localhost','root','');
    mysql_select_db('db'$link);
    $sc mysql_query("select count(id) from content ");
    $f_sc mysql_fetch_array($sc);
    print 
    $f_sc[0];
    echo 
    '<br/> -------------------------- <br/>';
    $ssi mysql_query("show index from content ");
    $f_ssi mysql_fetch_array($ssi);
    print 
    $f_ssi[Cardinality];
     
    ?>
    وشىء أحب اذكروا phpmyadmin لاتسخدم count قط ولاك تستخدم show index هل لأنوا أفضل الحلول

    منتظركم يا مبدعين سوالف بعد الفطار وكل عام وأنتم بخير





    التعديل الأخير تم بواسطة tech ; 09-09-2008 الساعة 10:55 PM


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


    عدد مشاهدات للموضوع كبير ولا رد واحد








  3. لدي بعض الاسئله قبل ان ارمي حلول ..
    ماهي نوع الجدول؟ MyISAM او InnoDB؟ وهل هذا مركب على سرفر تستطيع التحكم فيه بالكامل؟
    وارى ان اسم جدولك content .. اشرح شكل الجدول ونوع محتوياتها





    __________________
    هلابي افضل المواقع العربية تصميماً
    انصح باستخدام ابونتو

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


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

    نعم نوع الجدول MyISAM

    وهذا الجدول

    كود PHP:
    CREATE TABLE `content` (
      `
    idint(10NOT NULL auto_increment,
      `
    time_proint(20NOT NULL default '0',
      `
    namevarchar(100NOT NULL default '',
      `
    datatext,
      
    PRIMARY KEY  (`id`)
    ENGINE=MyISAM CHARSET=latin1
    نعم على سيرفر أستطيع التحكم بة بالكامل لاكن اخبرنى هل اذا كان على استضافة بعض من تلك الأوامر لا تعمل





    التعديل الأخير تم بواسطة tech ; 10-09-2008 الساعة 11:32 PM



  5. السلام عليكم.
    الindex مخزون في ملف خارج ملف الجدول .. اي انها منفصله من الجدول.
    ولكن لانك تستخدم جداول من نوع تخزين MyISAM فلن يكون هناك اي فرق. لان جداول الMyISAM لها اماكن في ملفاتها تسجل عدد السجلات الموجوده.. ومن شكل الجدول. انصح ان تكون الاستعلام بطريقه الcount العايديه لانها معروفه، واذا اتا مبرمج بعدك سيعرف كيف يكمل على مشروعك، وحبذ ان تستخدم ال(*)count بدلا من( count(field لان ذالك لن يضمن الناتج.

    اما InnoDB لها خصائص اخرى، ولكن لانك لا تستخدمهاـ لن نتطرق لها.

    اما اذا كنت تتحكم بالسرفر بالكامل.
    يمكنك العبث ببعض الخصائص في سرفر الmysql عن طريق الملف my.cnf في هذا الملف ستجد بعض البارامترات.. احدهم query_cache_limit و query_cache_size .. حاول ان تزيد مساحة بعضها، سوف تعطيك اداء افضل ولكن اقراء المانوال اكثر لكي تعرف ماهي افضل كونفيك لاستخداماتك الخاصه، فمثلا اذا كانت موقعك موقع دليل ارقام .. اذا البيانات التي تخرج قليله ولن يتكرر كثيرا الا بعض الارقام .. اذا .. قلل من الكاش .. وزد من الIndexes واستخدم MyISAM واستخدم نوع light من الكونفج للMySQL





    __________________
    هلابي افضل المواقع العربية تصميماً
    انصح باستخدام ابونتو

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


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

    قمت با أستخدام count وعملت بنجاح مع عدد سجلات كبيرة جدآ

    شكرآ لك أخى الكريم خالد وكل عام وانت بخير






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


    - الجمله show index غير صحيح لعد السجلات فهي تعيد معلومات الفهرسة للجدول , قد يكون هناك اكثر من فهرس في الجدول او يكون الفهرس ليس فريد أي يحتوى على قيم مكرره وبهذا تكون النتيجة خطأ.
    - اما count(*) فهي تحسب العدد الفعلي للسجلات مع دعم تحديد السجلات المطلوبه باستخدام where .
    يمكن مراجعة هذا الموضوع بالنسبة ل count أنصح بمتابعة هذه المدونه
    COUNT(*) vs COUNT(col) | MySQL Performance Blog





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





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

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

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