Индекс SQL по общему отношению Джанго

Возможно ли / целесообразно ли создать индекс SQL для GenericForeignKey в модели Django?

Я хочу выполнить поиск большого количества (~1 миллиона) объектов в моей базе данных postgreSQL. Мой поиск основан на GenericForeignkey для соответствующей модели, которая на самом деле хранится в виде двух полей: object_id (pk объекта, с которым связывается) и content_type (FK для модели Django ContentType, представляющей тип связываемого объекта к).

В терминах SQL это по существу:

WHERE ("my_model"."content_type_id" = x AND "my_model"."object_id" = y) 

object_id является неуникальным полем - поскольку общий FK может ссылаться на несколько моделей, возможно, что объекты разных типов будут иметь одинаковые pk,

Мне интересно, могу ли я ускорить время запроса, создав неуникальный индекс my_model.object_id, Мои знания об индексировании ограничены, поэтому я, возможно, неправильно понял их использование, но я знаю, что Django автоматически создает индексы для нормальных отношений ForeignKey, поэтому я предполагаю, что это связано с ускорением.

Кто-нибудь имел опыт создания индексов для GenericForeignKeys? Вы нашли результирующее повышение производительности? Любая помощь или понимание очень ценится.

0 ответов

Другие вопросы по тегам