【问题标题】:Django: What kind of querysets should i look for when deciding on model indexes?Django:在决定模型索引时我应该寻找什么样的查询集?
【发布时间】:2011-07-01 11:52:53
【问题描述】:

一般来说,您是否希望通过indexing a field (db_index=True) 优化一种模型查询?

如果相关:我正在使用 MySQL。

阐述:

虽然我很欣赏已经给出的答复。我更多的是从一位同事那里寻求诸如以下的建议:

您绝对应该为默认排序的字段以及用于过滤的任何字段编制索引。

你认为覆盖它吗?

【问题讨论】:

  • 选择或加入的字段还不是这些表的主键。

标签: python mysql django-models django-queryset django-orm


【解决方案1】:
  1. 安装django-debug-toolbar
  2. 查看 SQL 面板,查找长时间运行的查询
  3. 索引这些查询中选择的列
  4. 如果您在查询方面需要帮助,请尝试对查询执行“EXPLAIN”MySQL 命令。

【讨论】:

    【解决方案2】:

    基本上,您应该索引经常搜索的字段。例如,如果您有一个用户表,那么如果根据用户名不断查询事物,那么用户名也可以被索引。当然也有取舍。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-27
      • 1970-01-01
      • 2013-04-08
      • 2010-11-08
      • 1970-01-01
      • 1970-01-01
      • 2012-04-19
      相关资源
      最近更新 更多