میثم
4 سال پیش توسط میثم مطرح شد
2 پاسخ

بهترین راه دریافت اطلاعات در دیتابیس سنگین

سلام.
من بر اساس 5.4 php و mysql کار کردم.
حالا چند تا از جداول سایتم رکوردهای زیادی دارن.
فرضا
جدول 1 با 10.000 رکورد و 12 ستون اطلاعات
جدول 2 با 6.000 رکورد و 15 ستون اطلاعات
جدول 3 با 8.000 رکورد و 20 ستون اطلاعات
جدول 4 با 4.000 رکورد و 6 ستون اطلاعات
جدول 5 با 12.000 رکورد و 8 ستون اطلاعات.
حالا توی یکی از صفحات سایتم من به هر 5 جدول نیاز دارم و تقربا به تمام ستون ها در جدول ها نیاز هست. حالا با این اوصاف از دستور زیر برای فراخوانی فلان رکورد در جدول ها استفاده می کنم.

$X = mysql_fetch_array(mysql_query("Select * From `tableA` Where `id` = '$user[id]'"));

آیا راه بهتری برای اینکه سرعت عملکرد و فراخوانی اطلاعات بیشتر بشه سراغ دارین؟ بازم میگم که من توی فراخوانی به تمام ستون های هر جدول نیاز دارم.


ثبت پرسش جدید
reza ahmadi
تخصص : توسعه دهنده سیتم های تحت وب
@rezahmadi 4 سال پیش آپدیت شد
3

یکی از راه های بسیار موثر در افزایش سرعت select کردن اطلاعات از دیتابیس index گزاری هست
مثلا شما از یک جدول فیلد های A و B رو می خواید
توی phpmyadmin یه index برای این دو ستون قرار بدین . البته index میتونی شامل یک یا چند ستون باشه بستگی به کوئری هاتون داره .
شما روی یک جدول چندین index قرار بدین البته بدونین که index گزاری زیاد هم زیاد مناسب نیست چون در کوئری های insert سرعت رو کم می کنه.
زمانی هم که توی کوئریتون where دارید index ها خیلی کمک می کنن .


محمد یزدانی
تخصص : برنامه نویس وب
@mohammad13yazdani 4 سال پیش آپدیت شد
2

ببین می تونی از ajax استفاده کنید.
اطلاعاتی که می خواهی کاربر همون موقع ببینه در ابتدای صفحه با php فراخانی کنی و مابقی اطلاعات رو بیای با ajax پس از لود شدن صفحه و یا زمانایی که بهشون نیاز داشتی مثل نمایش یکسری از اطلاعات در یک پاپ آپ پس از کلید کردن کاربر.
همچنین اگر سرورت اجازه میده میتونی بیای و نسخه php رو به php 7 تغییر بدی که البته ممکنه یکم مشکل پیش بیاد و لی راحت می تونی حلش کنید. این طوری سرعتش هم بالا میره.
گرفتن column های مورد نیاز از جدول هم که توسط دوست عزیزمون ذکر شد خیلی موئثر هست.
همچنین می تونی با join کردن table ها در یک کوئری کار رو خیلی راحت تر و سریع تر کنید.

نکته بعدی اگر خیلی موضوع سرعت مهمه باید از mysql کوچ کنی روی mysqli و یا pdo که احیانا اگر دیگه وضع سرعت خیلی خراب شد بری سمت nosql


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام