【发布时间】:2026-01-03 09:05:02
【问题描述】:
ORM 的美丽让我睡着了。我有一个缺少数据库索引的现有 Django 应用程序。有没有办法自动生成需要索引的列列表?
我在想也许一些中间件会记录 WHERE 子句中涉及哪些列?但是 MySQL 中是否有内置的东西可能会有所帮助?
【问题讨论】:
标签: python mysql database django django-models
ORM 的美丽让我睡着了。我有一个缺少数据库索引的现有 Django 应用程序。有没有办法自动生成需要索引的列列表?
我在想也许一些中间件会记录 WHERE 子句中涉及哪些列?但是 MySQL 中是否有内置的东西可能会有所帮助?
【问题讨论】:
标签: python mysql database django django-models
是的,有。
如果你看一下slow query log,有一个选项--log-queries-not-using-indexes
【讨论】:
没有。
为所有“慢”查询添加索引也会减慢插入、更新和删除的速度。
索引是快速查询和快速更改之间的平衡。没有一般的或“正确”的答案。肯定没有什么可以自动执行此操作。
您必须在添加和更改索引时衡量整个应用程序的改进。
【讨论】: