gpt4 book ai didi

sql - Django 是否对基本查询(使用 Postgres)进行索引优化?

转载 作者:行者123 更新时间:2023-11-29 13:30:08 25 4
gpt4 key购买 nike

我想知道下面的查询是否被 django 优化。我有一个地址模型,该模型在 User 字段上建立了索引,但在 zip_code 字段上没有建立索引。

当我这样做时:

Address.objects.get(user=user, zip_code=zip_code)

希望发生的是,查询首先利用索引返回与用户关联的地址,然后遍历该用户的地址列表并匹配具有给定的邮政编码。

但是,我担心此查询不会利用我已为用户建立索引的用户模型这一事实,而是会遍历所有地址以尝试确保用户和邮政编码匹配。

最佳答案

这个问题与 Django 没有任何关系。 Django 不是数据库,也不以任何方式负责索引优化。 Django 只是将查询转换为 SQL 并将其传递给真实的数据库。可能是 Postgres 做了您描述的事情:要找出答案,您可以使用 Django 调试工具栏对特定查询运行 EXPLAIN,并查看使用了哪些索引。但是,如果这是一个您需要做很多事情的查询,您可能无论如何都想在 user_id 和 zip_code 上创建一个组合索引。

关于sql - Django 是否对基本查询(使用 Postgres)进行索引优化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25793693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com