Почему поиск в <200 категориях медленнее, чем поиск в >6000 товарах?

Используя библиотеку line_profiler для анализа моего проекта Django Ecommerce, я обнаружил, что поиск в менее чем 200 категориях продуктов медленнее, чем поиск в более чем 6000 продуктах.

Как видно на изображении ниже, использование метода .get() для объектов ProductCategory занимает более чем вдвое больше времени, чем использование .filter() для Products, несмотря на то, что Product.filter должен просматривать список значений (categories__in).

У кого-нибудь есть идея, почему это так? :-))

enter image description here

Вернуться на верх