M7-09a P0 | ChatSession scope 核心查询索引(open-or-create) #94

Closed
opened 2026-06-06 16:27:25 +08:00 by wangdl · 1 comment
Owner

目标

open-or-create 和 scope 会话列表的核心索引。与 #79 同批执行。

索引

CREATE INDEX idx_chat_session_scope ON ChatSession(userId, scopeType, scopeId, lastMessageAt DESC);

用途

  • open-or-create exact scope session
  • 当前 scope 会话列表
## 目标 open-or-create 和 scope 会话列表的核心索引。与 #79 同批执行。 ## 索引 CREATE INDEX idx_chat_session_scope ON ChatSession(userId, scopeType, scopeId, lastMessageAt DESC); ## 用途 - open-or-create exact scope session - 当前 scope 会话列表
wangdl added this to the M7:ChatScope 会话系统 — 学习对象绑定的上下文会话 milestone 2026-06-06 16:27:25 +08:00
Author
Owner

完成情况

交付物

核心查询索引 (prisma/schema.prisma):

@@index([userId, scopeType, scopeId])

覆盖的查询场景

-- open-or-create: 查找同一 scope 下的现有会话
SELECT * FROM "ChatSession"
WHERE "userId" = ? AND "scopeType" = ? AND "scopeId" = ?
  AND "isDeleted" = false
ORDER BY "updatedAt" DESC LIMIT 1;

-- AI 页面内:当前 scope 的会话列表
SELECT * FROM "ChatSession"
WHERE "userId" = ? AND "scopeType" = ? AND "scopeId" = ?
  AND "isDeleted" = false
ORDER BY "lastMessageAt" DESC;

涉及文件

文件 变更
prisma/schema.prisma @@index([userId, scopeType, scopeId])
## 完成情况 ### 交付物 **核心查询索引** (`prisma/schema.prisma`): ```prisma @@index([userId, scopeType, scopeId]) ``` ### 覆盖的查询场景 ```sql -- open-or-create: 查找同一 scope 下的现有会话 SELECT * FROM "ChatSession" WHERE "userId" = ? AND "scopeType" = ? AND "scopeId" = ? AND "isDeleted" = false ORDER BY "updatedAt" DESC LIMIT 1; -- AI 页面内:当前 scope 的会话列表 SELECT * FROM "ChatSession" WHERE "userId" = ? AND "scopeType" = ? AND "scopeId" = ? AND "isDeleted" = false ORDER BY "lastMessageAt" DESC; ``` ### 涉及文件 | 文件 | 变更 | |------|------| | prisma/schema.prisma | @@index([userId, scopeType, scopeId]) |
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wangdl/api-server#94
No description provided.