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 Bitcoin Work?

Bitcoin is built on a distributed digital record called a blockchain. As the name implies, blockchain is a linked body of data, made up of units called blocks that contain information about each and every transaction, including date and time, total value, buyer and seller, and a unique identifying code for each exchange. Entries are strung together in chronological order, creating a digital chain of blocks. “Once a block is added to the blockchain, it becomes accessible to anyone who wishes to view it, acting as a public ledger of cryptocurrency transactions,” says Stacey Harris, consultant for Pelicoin, a network of cryptocurrency ATMs. Blockchain is decentralized, which means it’s not controlled by any one organization. “It’s like a Google Doc that anyone can work on,” says Buchi Okoro, CEO and co-founder of African cryptocurrency exchange Quidax. “Nobody owns it, but anyone who has a link can contribute to it. And as different people update it, your copy also gets updated.”

Telegram announces Anonymous Admins

The cloud-based messaging platform is also adding Anonymous Group Admins feature. As per Telegram, this feature is being introduced for safer protests. As per the Telegram blog post, users can “Toggle Remain Anonymous in Admin rights to enable Batman mode. The anonymized admin will be hidden in the list of group members, and their messages in the chat will be signed with the group name, similar to channel posts.”

جنگولرن from jp


Telegram جنگولرن
FROM USA