پیکسلر | شبکه اجتماعی برنامه نویسان

چه تعداد کوئری در ثانیه به دیتابیس نرمال است و چه تعداد کوئری باید ما رو نگران کنه؟

M-R 3 سال پیش

گاهی اوقات پیش میاد که برای دریافت نتیجه مطلوب از دیتابیس تعداد کوئری ها زیاد می شه. مثلا شما می خواید در یک صفحه یک پست اصلی، چند پست مرتبط، کامنت های زیر پست، لایک های پست و لایک های زیر هر کامنت و … رو از دیتابیس دریافت کنید و برای اون لازم می شه چندین کوئری به دیتابیس بزنید. 

حالا این سوال پیش میاد که چه تعداد کوئری به دیتابیس زیاده محسوب میشه و باید ما رو نگران کنه؟

2 پاسخ
برای قرار دادن دیدگاه وارد شوید

تعداد کوئری‌هایی که به دیتابیس ارسال می‌شوند، بستگی به نوع برنامه و پروژه دارند و هیچ مقدار دقیق و مطلقی برای تعداد کوئری در ثانیه وجود ندارد که بتوان آن را نرمال یا غیرنرمال دانست. همانطور که می‌دانید، هر پروژه می‌تواند درخواست‌های مختلفی داشته باشد و بسته به نیاز پروژه، تعداد کوئری‌هایی که به دیتابیس فرستاده می‌شود ممکن است متفاوت باشد.

اما به طور کلی، باید توجه داشت که تعداد کوئری‌هایی که به دیتابیس فرستاده می‌شوند، بیشتر از حد نیاز و منطقی می‌تواند منجر به مشکلاتی مانند کاهش عملکرد سرور، آسیب به پایداری و قابلیت اطمینان سیستم و مشکلات امنیتی شود. بنابراین، باید سعی کنیم تا حد امکان تعداد کوئری‌هایی که به دیتابیس می‌فرستیم را کاهش دهیم و از روش‌هایی مانند استفاده از کش و بهینه‌سازی کوئری‌ها استفاده کنیم.

در مورد تعداد کوئری‌هایی که باید ما را نگران کند، نمی‌توان به صورت دقیق یک عدد قطعی بیان کرد. باید بر اساس تجربه و دانش فنی خود، بررسی کنیم که تعداد کوئری‌هایی که به دیتابیس می‌فرستیم چقدر است و آیا این تعداد در حدی است که سیستم را آسیب بزند یا خیر. 

به طور کلی، همیشه باید بهینه سازی کوئری ها و استفاده بهینه از دیتابیس را در نظر داشته باشیم تا عملکرد سیستم بهینه باشد. در صورت نیاز، می توان از ابزار های مانیتورینگ سیستم استفاده کرد تا تعداد کوئری ها و زمان پاسخگویی دیتابیس را بررسی کرد و بهینه سازی های لازم را انجام داد.

ahmadaskari 3 سال پیش

به نظر من این بستگی به کوئری شما داره و گاهی اوقات چندتا کوئری ساده خیلی بهتر از یک کوئری سنگین و پیچیده است. 

10 - 20 تا کوئری چیزی نیست که شما بخواهید نگرانش باشید (البته این موضوع می تونه در زمان اوج ترافیک صادق نباشه). بهتره نگران response time و یا زمانی که طول می کشه تا پاسخ رو دریافت کنید، باشید.