全项目数据库性能优化
This commit is contained in:
@@ -47,13 +47,15 @@ export async function createRealtimeEvent(input: {
|
||||
const row = result.rows[0]
|
||||
if (!row) throw new Error('realtime_event_create_failed')
|
||||
|
||||
// 事件仅用于短期断线补发,控制表体积和重连回放成本。
|
||||
await query(
|
||||
`
|
||||
DELETE FROM realtime_events
|
||||
WHERE id < GREATEST(0, (SELECT COALESCE(MAX(id), 0) - 500 FROM realtime_events))
|
||||
`,
|
||||
)
|
||||
// 事件仅用于短期断线补发;每 100 条清理一次,避免每次业务事件都额外触发 DELETE。
|
||||
if (Number(row.id) % 100 === 0) {
|
||||
await query(
|
||||
`
|
||||
DELETE FROM realtime_events
|
||||
WHERE id < GREATEST(0, (SELECT COALESCE(MAX(id), 0) - 500 FROM realtime_events))
|
||||
`,
|
||||
)
|
||||
}
|
||||
return row
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user