From 66a802beb7d602d698bbbf9d7dfde91052a88cac Mon Sep 17 00:00:00 2001 From: Victor_Jay Date: Tue, 2 Jun 2026 17:24:45 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B7=BB=E5=8A=A0=20posts=20=E5=A4=8D?= =?UTF-8?q?=E5=90=88=E7=B4=A2=E5=BC=95=20idx=5Fposts=5Fuser=5Fstatus?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 为 UserID 和 Status 列添加复合索引 idx_posts_user_status,优化 user_id + status 联合查询性能 --- internal/model/post.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/model/post.go b/internal/model/post.go index 0acf130..307accf 100644 --- a/internal/model/post.go +++ b/internal/model/post.go @@ -12,8 +12,8 @@ type Post struct { Title string `gorm:"type:varchar(200);not null" json:"title"` Body string `gorm:"type:text" json:"body"` // Markdown content Excerpt string `gorm:"type:varchar(500)" json:"excerpt"` // plain text summary for list - UserID uint `gorm:"index;not null" json:"user_id"` - Status string `gorm:"type:varchar(20);index;default:draft;not null" json:"status"` + UserID uint `gorm:"index;index:idx_posts_user_status,priority:1;not null" json:"user_id"` + Status string `gorm:"type:varchar(20);index;index:idx_posts_user_status,priority:2;default:draft;not null" json:"status"` IsLocked bool `gorm:"default:false" json:"is_locked"` LockReason string `gorm:"type:varchar(500);default:''" json:"lock_reason,omitempty"` PendingTitle string `gorm:"type:varchar(200);default:''" json:"pending_title,omitempty"`