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

الموضوع: [درس] افضل طريقة واسرعها في الاستعلام من DB

  1. #1
    عضو نشيط جدا
    تاريخ التسجيل
    May 2007
    المشاركات
    309

    [درس] افضل طريقة واسرعها في الاستعلام من DB



    اظنها افضل طريقة واسرعها في الاستعلام
    اترككم مع الكود
    1. الاستعلام المحدد
    2.استخدام الدالة for بدل الدالة while اسرع
    3.حذف الاستعلام .. Unset
    4. اغلاق الاتصال وتكون اخر شي بعد كل الاستعلامات
    كود PHP:
    // The Fast Way of query From DB
    // Auther : Bruce
    // One : dont Get all fileds just that you need
       
    $Mainsection mysql_query("SELECT id,title FROM qf_forum");
    // Use A (For) Not (While) Because For is faster
       
    for($z=1;$z <= mysql_num_rows($Mainsection);$z++) {
        
    $Mainsection_info mysql_fetch_array($Mainsection);
        print 
    $Mainsection_info['title']."<br />";
       }
    // Delete the query if you dont needed
       
    unset($Mainsection);
    // Last step close your db
       
    mysql_close(); 
    سلام





    __________________
    Bruce - مدونة شديدة التخصص في PHP وتطبيقات الويب


  2. #2
    عضو نشيط
    تاريخ التسجيل
    Sep 2006
    المشاركات
    147


    مشكور اخوي على الدرس

    بس بقيت اسئل شلون نحط تعدد الصفحات

    والسلام عليكم





    __________________
    ﻻ إله إﻻ الله ... محمد رسول الله ...
    aln3esa@hotmail.com
    مبرمج المكتبه الاسلامية
    www.mktba.org

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


    جميل جدا وعملي .





    __________________
    htaccess بكل بساطة

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

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



  4. اعتقد ان هذا اسرع بكثير

    كود PHP:
    // The Fast Way of query From DB
    // Auther : Bruce
    // One : dont Get all fileds just that you need
       
    $Mainsection mysql_query("SELECT id,title FROM qf_forum");
       
       
    // Get number of rows outside the for loop so you request it only once
        
    $num mysql_num_rows($Mainsection)
    // Use A (For) Not (While) Because For is faster
       
    for($z=1;$z <= $num$z++) {
        
    $Mainsection_info mysql_fetch_array($Mainsection);
        print 
    $Mainsection_info['title']."<br />";
       }
    // Fee mysql instead of deleting the variable
       
    mysql_free_results($Mainsection);
    // Last step close your db
       
    mysql_close(); 






    __________________
    سبحان الله و بحمده .... سبحان الله العظيم

    للمراسلة

  5. #5
    عضو نشيط جدا
    تاريخ التسجيل
    May 2007
    المشاركات
    309


    جميل جدا اخي b happy
    فكرة ممتازة
    ان شاء الله يستفيد منها الجميع





    __________________
    Bruce - مدونة شديدة التخصص في PHP وتطبيقات الويب



  6. السلام .. معليش يا جماعة .. انا عندي دليل يثبت ان الfor ليست اسرع من الwhile
    BREAK the FOR VS WHILE loop war | Mgccl's Blog

    هذا الرابط يشرح بالتفصيل ما هو الاسرع ... ويشرح كيف ان الfor loop ابطء من الwhile وتاخذ مساحة اكبر في الذاكرة ..

    لوسمحت يا Bruce قبل ان تضع شيء تاكد من صحتها ..





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



  7. ولإثبات كلامي اكثر . قمت بكتابة هذا الكود وتجربتة شخصيا
    كود PHP:


    <pre>
    <?
    $con 
    mysql_connect('localhost','username','password');
    mysql_select_db('db_name',$con);



    $stimer explode' 'microtime() );
    $stimer $stimer[1] + $stimer[0];

    $result mysql_query('select * from table_name LIMIT 400');
    while(
    $row mysql_fetch_array($result)){
      
    /* xxx */
    }

    $etimer explode' 'microtime() );
    $etimer $etimer[1] + $etimer[0];
    echo 
    'While loop took: '.($while $etimer-$stimer).'ms';
    echo 
    '<br/>';

    $stimer explode' 'microtime() );
    $stimer $stimer[1] + $stimer[0];

    $result mysql_query('select * from table_name LIMIT 400');
    $y mysql_num_rows($result);
    for(
    $x 0$x $y$x++){
      
    $row mysql_fetch_array($result);
      
    /* xxx */
    }

    $etimer explode' 'microtime() );
    $etimer $etimer[1] + $etimer[0];
    echo 
    'For loop took: '.($for $etimer-$stimer).'ms';
    echo 
    '<br/><br/>';

    if(
    $while $for){
      echo 
    'So <b>for loop</b> is faster by '.($while-$for).'ms';
    }
    else{
      echo 
    'So <b>While loop</b> is faster by '.($for-$while).'ms';
    }

    ?>
    </pre>
    وامثلة للنتائج هي
    كود HTML:
    While loop took: 0.00167798995972ms
    For loop took: 0.00359106063843ms
    
    So While loop is faster by 0.00191307067871ms
    
    =======================
    
    While loop took: 0.00165200233459ms
    For loop took: 0.00182318687439ms
    
    So While loop is faster by 0.000171184539795ms
    
    =======================
    
    While loop took: 0.00166392326355ms
    For loop took: 0.00529599189758ms
    
    So While loop is faster by 0.00363206863403ms






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





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

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

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