3

在 Django 模型中的 GenericForeignKey 上创建 SQL 索引是否可能/明智?

我想在我的 postgreSQL 数据库中查找大量(约 100 万)个对象。我的查找基于相关模型上的 GenericForeignkey,它实际上存储为两个字段:object_id(被链接到的对象的 pk)和 content_type(代表被链接对象类型的 Django ContentType 模型的 FK至)。

在 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 创建索引的经验?您是否发现由此带来的性能提升?非常感谢任何帮助或见解。

4

0 回答 0