نمایش نتایج 1 تا 3 از 3

نام تاپیک: بهترین روش برای لود صفحه های سنگین در php

  1. #1
    کاربر جدید
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    قوشاچای
    پست
    24

    بهترین روش برای لود صفحه های سنگین در php

    سلام و عرض ادب.

    من 3 تا دیتابیس دارم تو mysql که حجم هر کدوم حدود 100000 رکورد هست.
    یه صفحه هم دارم تو سایتم که از دوتا از این جدول ها query میگیره و چاپ میکنه . اما خیلی سنگین میشه لودش بعضی وقت ها هم اصلا لود نمیکنه.

    من به این شکل پیاده کردم :
    $result_l = mysql_query("SELECT * FROM sp_accounts WHERE `server` = '".$server."' AND `status` >= '0' AND `datecreated` < '".$dless ."'");// az hemaiat kharej shode
    if (mysql_num_rows($result_l) > 0){
    while($row_l = mysql_fetch_assoc($result_l))
    {
    $result_2 = mysql_query("SELECT * FROM statistic_troop WHERE `server` = '".$server."' AND `account` = '".$row_l['account']."'");
    $q = mysql_num_rows($result_2);
    if($q > 0){
    $row_2 = mysql_fetch_assoc($result_2);
    echo $row_l['account'].',,,'.$row_l['password'].',,,'.$row_l['ip'].',,,'.$row_l['port'].',,,'.$row_l['useragent'].',,,'.$row_l['screen'].',,,'.$row_2['xvill'].',,,'.$row_2['yvill'].',,,'.$row_l['tribe'].',,,'.$row_l['u1'].',,,'.$row_l['u2'].',,,'.$row_l['u3'].',,,'.$row_l['u4'].',,,'.$row_l['u5'].',,,'.$row_l['u6'].',,,'.$row_l['u7'].',,,'.$row_l['u8'].',,,'.$row_l['u9'].',,,'.$row_l['u11'].',,,'.$row_l['u12'].',,,'.$row_l['u13'].',,,'.$row_l['u14'].',,,'.$row_l['u15'].',,,'.$row_l['u16'].',,,'.$row_l['u17'].',,,'.$row_l['u18'].',,,'.$row_l['u19'].',,,'.$row_l['u21'].',,,'.$row_l['u22'].',,,'.$row_l['u23'].',,,'.$row_l['u24'].',,,'.$row_l['u25'].',,,'.$row_l['u26'].',,,'.$row_l['u27'].',,,'.$row_l['u28'].',,,'.$row_l['u29'].'<BR>';
    }
    }
    }

    راه دیگه ای هست که سرعت لود بیشتر بشه؟ این اصلا به درد نمیخوره . چون دو سه تا کاربر هممزان این پیج رو باز کنن دیگه کلا سایت اف میشه

  2. #2
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: بهترین روش برای لود صفحه های سنگین در php

    اول اینکه ایندکس گزاری کن تیبلت رو تا زمان جستجو بیاد پایین
    دوم اینکه کوئری دوم رو داخل حلقه نزار اینجوری تعداد کوئری ها میره بالا
    account ها رو جمع کن بریز تو یک آرایه
    بعد با 1 تک کوئری همه statistic_troop های اون اکانت ها رو بخون

  3. #3
    کاربر جدید
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    قوشاچای
    پست
    24

    نقل قول: بهترین روش برای لود صفحه های سنگین در php

    نقل قول نوشته شده توسط plague مشاهده تاپیک
    اول اینکه ایندکس گزاری کن تیبلت رو تا زمان جستجو بیاد پایین
    دوم اینکه کوئری دوم رو داخل حلقه نزار اینجوری تعداد کوئری ها میره بالا
    account ها رو جمع کن بریز تو یک آرایه
    بعد با 1 تک کوئری همه statistic_troop های اون اکانت ها رو بخون
    ایندکس گزاری تو یه جای دیگه خیلی زمان من رو میاره پایین. البته استثنا هست این مورد وگرنه ایندکس گزاری خیلی تو زمان کوئری ها اثر میزاره.

    اما همون بیرون کشیدن کوئری دوم از حلقه و استفاده از ارایه مشکل من رو حل کرد . الان در کمتر از 1 ثانیه کوئری مورد نظر من اجرا میشه و نتیجه میده . ممنون

تاپیک های مشابه

  1. بهترین راه برای نمایش رکورد های زیاد در صفحه اول
    نوشته شده توسط R_Rajaee_Rad در بخش ASP.NET MVC
    پاسخ: 0
    آخرین پست: جمعه 01 آذر 1392, 21:12 عصر
  2. سوال: بهترین روش برای لود شدن صفحه با فایل سنگین چیست؟
    نوشته شده توسط mohsen.nsb44 در بخش ASP.NET Web Forms
    پاسخ: 10
    آخرین پست: دوشنبه 20 شهریور 1391, 11:53 صبح
  3. مبتدی: بهترین روش برای انتخاب رکورد های مد نظر کاربر و نمایش آن در صفحه
    نوشته شده توسط Hamid2547 در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: یک شنبه 18 تیر 1391, 13:27 عصر
  4. بهترین روش برای حذف رکورد های مشابه در یک Table
    نوشته شده توسط MShirzadi در بخش SQL Server
    پاسخ: 2
    آخرین پست: دوشنبه 07 آبان 1386, 07:13 صبح
  5. بهترین روش برای ساخت صفحه ی عضویت در asp.net 2005
    نوشته شده توسط HOSSEINGHOLI در بخش ASP.NET Web Forms
    پاسخ: 10
    آخرین پست: پنج شنبه 12 مهر 1386, 02:56 صبح

قوانین ایجاد تاپیک در تالار

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