Telegram Group & Telegram Channel
sarabi.pdf
626.4 KB
بهینه‌سازی کوئری‌ها و مشکل N+1
از لینکدین Mohsen Sarabi

یکی از مشکلات رایج در کوئری‌ها، N+1 Query Problem است. این مشکل زمانی رخ می‌دهد که ابتدا یک کوئری برای دریافت لیست اصلی داده‌ها اجرا می‌شود و سپس برای هر آیتم در این لیست، یک کوئری جداگانه برای دریافت داده‌های مرتبط ارسال می‌شود. نتیجه این قضیه، فرستادن تعداد زیادی درخواست غیرضروری به پایگاه داده است که موجب افزایش زمان پردازش و کاهش عملکرد برنامه ما می شود!
راه‌حل؟ استفاده از select_related
این متد با استفاده از JOIN در سطح دیتابیس، تمام داده‌های مرتبط را در یک کوئری واحد واکشی می‌کند، که باعث بهینه‌سازی عملکرد و کاهش تعداد درخواست‌ها می‌شود.
📌 اگر رابطه ManyToMany باشد، prefetch_related گزینه مناسبی است.
آیا تا به حال با این مشکل برخورد کرده‌اید؟ چگونه آن را حل کردید؟ خوشحال میشم تجربیاتتون را به اشتراک بذارید.



tg-me.com/djangolearn_ir/1007
Create:
Last Update:

بهینه‌سازی کوئری‌ها و مشکل N+1
از لینکدین Mohsen Sarabi

یکی از مشکلات رایج در کوئری‌ها، N+1 Query Problem است. این مشکل زمانی رخ می‌دهد که ابتدا یک کوئری برای دریافت لیست اصلی داده‌ها اجرا می‌شود و سپس برای هر آیتم در این لیست، یک کوئری جداگانه برای دریافت داده‌های مرتبط ارسال می‌شود. نتیجه این قضیه، فرستادن تعداد زیادی درخواست غیرضروری به پایگاه داده است که موجب افزایش زمان پردازش و کاهش عملکرد برنامه ما می شود!
راه‌حل؟ استفاده از select_related
این متد با استفاده از JOIN در سطح دیتابیس، تمام داده‌های مرتبط را در یک کوئری واحد واکشی می‌کند، که باعث بهینه‌سازی عملکرد و کاهش تعداد درخواست‌ها می‌شود.
📌 اگر رابطه ManyToMany باشد، prefetch_related گزینه مناسبی است.
آیا تا به حال با این مشکل برخورد کرده‌اید؟ چگونه آن را حل کردید؟ خوشحال میشم تجربیاتتون را به اشتراک بذارید.

BY جنگولرن


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/djangolearn_ir/1007

View MORE
Open in Telegram


جنگولرن Telegram | DID YOU KNOW?

Date: |

How Does Telegram Make Money?

Telegram is a free app and runs on donations. According to a blog on the telegram: We believe in fast and secure messaging that is also 100% free. Pavel Durov, who shares our vision, supplied Telegram with a generous donation, so we have quite enough money for the time being. If Telegram runs out, we will introduce non-essential paid options to support the infrastructure and finance developer salaries. But making profits will never be an end-goal for Telegram.

Telegram today rolling out an update which brings with it several new features.The update also adds interactive emoji. When you send one of the select animated emoji in chat, you can now tap on it to initiate a full screen animation. The update also adds interactive emoji. When you send one of the select animated emoji in chat, you can now tap on it to initiate a full screen animation. This is then visible to you or anyone else who's also present in chat at the moment. The animations are also accompanied by vibrations. This is then visible to you or anyone else who's also present in chat at the moment. The animations are also accompanied by vibrations.

جنگولرن from br


Telegram جنگولرن
FROM USA