ورود

View Full Version : آیا این کوئری به سرور فشار میاره؟



white tower
شنبه 27 مهر 1392, 16:08 عصر
سلام
من تو یه قسمت از سایتی که دارم طراحی میکنم و اولین کارم است یه صفحه دارم که یه سری آبجکت رو نمایش میده کاربر می تونه یکی رو انتخاب کنه.از اونجایی که تعداد این آبجکت ها زیاده باید تو چند صفحه نمایش بدم.برای همین منظور روی دکمه هایی که به صفحه قبل و بعد میرن از ajax استفاده کردم و جوابی که از php میگیره رو دریافت میکنم.
همه اینا رو گفتم که مشخص باشه این کوئری رو کجا م یخوام استفاده کنم.یعنی ممکنه یه کاربر چند بار این درخواست رو اجرا کنه.
این هم کوئری مورد بحث
select tb_no,avg(score) from cross_scores where tb_no >= '5440' and tb_no <= '5457' group by tb_no order by tb_no;
این میانگین فقط در بازه 18 تایی باید گرفته بشه مثل همین 5440 تا 5470.
امروز تو قسمت php در مورد سنگین بودن کوئری سوال کردم و دوستان گفتن که اگر اجراش به سرور فشار بیاره بهتره مجموعه جواب رو کش کنی یعنی به عبارتی توی یه فایل بریزیش و مثلا هر 15 دقیقه یه بار فایلت رو آپدیت کنی.یعنی برای جوابت دیگه سراغ دیتابیس نری.
حالا می خوام بدونم اصلا این کوئری سنگینه هست یا نه که اگر سنگین حساب نمیشه اون راه رو نرم

espootin
شنبه 27 مهر 1392, 18:53 عصر
سلام.
این یک کوری ساده است که از ایندکس استفاده می کند و از join نیز استفاده نمی کند.
با توجه به مقدار داده هایی که درون جدول cross_scores است و نیز حداکثر حجمی که برگردانده می شود می توان قضاوت کرد که این کوری سنگین است یا نه.
اگر شما تقریبا یک میلیون رکورد داشته باشید و حجمی کمتر از یک مگابایت برگردانده شود، کوری شما بهینه است و سرعت مناسبی دارد.

afshin9032
شنبه 04 آبان 1392, 00:17 صبح
میتونی از view هم استفاده کنی .