From c6161764a95587ba76bff5a211b10ee202d75663 Mon Sep 17 00:00:00 2001 From: xfy Date: Thu, 18 Jun 2026 11:02:13 +0800 Subject: [PATCH] perf(db): add indexes for trash and admin post list queries MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - idx_posts_deleted_at: 回收站查询 WHERE deleted_at IS NOT NULL ORDER BY deleted_at DESC - idx_posts_created_at_admin: 管理后台全量列表 WHERE deleted_at IS NULL ORDER BY created_at DESC --- migrations/011_perf_indexes.sql | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 migrations/011_perf_indexes.sql diff --git a/migrations/011_perf_indexes.sql b/migrations/011_perf_indexes.sql new file mode 100644 index 0000000..7dec7dc --- /dev/null +++ b/migrations/011_perf_indexes.sql @@ -0,0 +1,13 @@ +-- 性能审计补充索引。 +-- 所有索引均为 CREATE INDEX IF NOT EXISTS,对已有数据库安全幂等。 + +-- 回收站查询:trash.rs 中大量 WHERE deleted_at IS NOT NULL ... ORDER BY deleted_at DESC。 +-- 配合 list_deleted_posts 的 ORDER BY deleted_at DESC 分页。 +CREATE INDEX IF NOT EXISTS idx_posts_deleted_at + ON posts(deleted_at DESC) WHERE deleted_at IS NOT NULL; + +-- 管理后台列表 list_posts:WHERE deleted_at IS NULL ORDER BY created_at DESC。 +-- 注意 002_posts.sql 已有 idx_posts_status_published(仅 published 分页), +-- 这里补充未按 status 过滤的管理后台全量列表路径。 +CREATE INDEX IF NOT EXISTS idx_posts_created_at_admin + ON posts(created_at DESC) WHERE deleted_at IS NULL;