انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


ارائه ۲۴٫۱۰ اوبونتو منتشر شد 🎉

نویسنده موضوع: مناسب‌ترین تعداد واکشی ردیف‌ها از دیتابیس  (دفعات بازدید: 572 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین sajadspeed

  • Hero Member
  • *
  • ارسال: 978
  • جنسیت : پسر
سلام دوستان ببینید فرض کنید یه جدولی در یک دیتابیس رابطه‌ای مثل Mysql داریم و برای واکشی اطلاعات این جدول، به دلیل زیاد بودن رکوردهای آن مجبور می‌شویم در لایه نرم‌افزار به شکل محدود شده درخواست اطلاعات به سمت دیتابیس ارسال کنیم. خوب این خیلی بدیهی است و همیشه این کار انجام میشه، مثل Pagination توی وب یا لیست‌های بی‌نهایت اپلیکیشن‌ها، سوال اینجا پیش میاد که دقیقا چه مقدار واکشی رکوردها در هر درخواست مناسب‌ترین عدد می‌تواند باشد؟ 10 تا؟ 20 تا؟ چطوری میشه مناسب‌ترین عدد انتخاب کرد که بهترین گزینه از لحاظ پرفورمنسی باشه؟

عوامل تاثیرگذار دیگه مثل UX اینا رو کاری نداریم فعلا، در صفحات وب که معمولا به صورت صفحه‌بندی است شاید زیاد این عدد مهم نباشد ولی خوب در یک لیست بی‌نهایت که کاربر ممکن دیوانه‌وار اسکرول کنه یا وقت زیادی رو برای مشاهده محتوای آن لیست صرف کنه، خیلی مهم میشه که LIMIT انتخاب بشه که هم تعداد درخواست‌ها به سرور کمتر کنه و هم به دیتابیس فشار نیاد و برنامه هم روون و خوب اجرا بشه.

ممنون میشم تجربیاتتون به اشتراک بگذارید.

آفلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4872
  • جنسیت : پسر
  • masoft قدیم
یک عدد کلی وجود نداره و بستگی به مواردی از لحاظ نوع کاربرد، قدرت سرور، تنظیمات سرور، نوع کش‌ها و ... داره.

آفلاین sajadspeed

  • Hero Member
  • *
  • ارسال: 978
  • جنسیت : پسر
خوب دقیقاً، شاید من می‌نوشتم `نحوه محاسبه` بهتر منظورم می‌رسوند، الآنم دنبال عدد ثابت نیستم، دنبال شیوه رسیدن به تعداد مناسب، بر اساس همین فاکتورهایی که جنابعالی بهش اشاره کردید هستم.

آفلاین جادی

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1610
    • در دفاع از آزادی بیان
یه برنامه بنویس که دائما اینکار رو انجام بده. بعد با تغییر مقداری که می خونی می تونی پرفرمنس رو ببینی و به این بررسی که بر اساس سخت افراز و ساختار دیتابیس تو، چه عددی تقریبا بهینه است.﴾
آزادی کیبورد حق هر انسان است - جادی

آفلاین sajadspeed

  • Hero Member
  • *
  • ارسال: 978
  • جنسیت : پسر
خوب همیشه همینطور بوده و از روی تجربه، شخص اون عدد انتخاب می‌کنه. خود بنده اول زمان واکشی اطلاعات به شکل دستی در چند تا عددی که به نظرم مناسب میاد تست می‌کنم و با توجه به محدودیت رم اگه داشته باشم سعی می‌کنم این اعداد پایین‌تر باشن، یا اگه محدودیت رم نبود و بیشتر روی پردازنده و کمتر درگیر کردن اون تمرکز داشتم، تعداد بالاتر می‌برم.
البته طبیعی است که همیشه اول کار با یک تعداد مناسبی شروع میشه و در طول کار همانطور که شما عرض کردید تغییر پیدا می‌کنه.

این عدد اینجا برام اینقدر حساس شده که قراره از یک سرور تقریبا ضعیف به دلیل محدودیت منابع مالی و... بیشترین بهره‌وری را داشته باشیم.

الان به فکر این افتادم یه اسکریپت بنویسم که با توجه به این چند تا فاکتور و تست کردن تمام این عوامل در عمل، یک بازه کاملا مناسب با بهره‌وری بالا پیشنهاد بده، البته هنوز یه سری عوامل انسانی و اینکه شروع این عدد از روی تجربه خود برنامه‌نویس باشه یا نه واسم گنگه و باید روش فکر بشه، ولی فکر کنم بشه  ;D به نظرتون می‌تونه اینقدر مفید باشه که بهتر از راه‌حل‌های تجربی و تست‌های دستی جواب بده؟