跳到主要内容
知仓学习社ZHICANG

django-index-design

Design safe Django and PostgreSQL indexes from measured query plans, including B-tree, composite, covering, partial, expression, GIN/JSONB, BRIN, an…

不碰外部(只输出文字)无严重或高危命中hashgraph-online/awesome-codex-plugins

它会碰到什么

扫了多少2 个文本文件,6 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

Django Index Design

Use this skill to add or change indexes only after profiling shows a specific query can benefit. Indexes speed selected reads and constraints, but they add write cost, migration risk, and maintenance overhead.

Workflow

  1. Start from a query plan.
  • Capture the SQL, filters, joins, ordering, selected columns, table sizes, and current indexes.
  • Confirm that the query is important enough to optimize.
  1. Choose the index shape.
  • Equality filters first, then range/order fields when useful.
  • Match ORDER BY for LIMIT queries when possible.
  • Use partial indexes for highly queried subsets.
  • Use covering indexes only when selected columns are stable and index-only scans are plausible.
  • Use GIN for JSONB containment, arrays, and full-text patterns; do not expect a B-tree to solve those.
  1. Express the index in Django models or migrations.
  • Prefer Meta.indexes for normal model-owned indexes.
  • Prefer AddIndexConcurrently and RemoveIndexConcurrently for live PostgreSQL tables.
  • Use raw SQL only when Django cannot express the index.
  1. Validate on production-like data.
  • Re-run QuerySet.explain() or EXPLAIN ANALYZE.
  • Verify the planner uses the index for the target query.
  • Check write-path impact when the indexed table is hot.

See [index-patterns.md](references/index-patterns.md) for index examples and migration templates.

Production Rules

  • For PostgreSQL live tables, use concurrent index operations and set the migration atomic = False.
  • Keep names short, stable, and explicit.
  • Do not add duplicate indexes that are already covered by a unique constraint or a left-prefix composite index.
  • Remove unused indexes only after checking production usage and deployment rollback needs.

Verification

Finish with before/after plan evidence, the exact migration operation, and the operational risk assessment for locks, writes, and rollback.

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。