mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 01:10:23 +08:00
perf(usage): user-me usage 查询避免全量加载,默认限制 7 天范围
- UsageAuditListQuery 新增 limit 字段,支持在 SQL 层 LIMIT - user-me usage 端点无时间范围时默认查最近 7 天 - active usage 端点无 ids 过滤时限制查最近 1 小时 - InMemory 实现同步支持 limit truncate
This commit is contained in:
@@ -214,6 +214,9 @@ impl UsageReadRepository for InMemoryUsageReadRepository {
|
||||
.cmp(&right.created_at_unix_ms)
|
||||
.then_with(|| left.request_id.cmp(&right.request_id))
|
||||
});
|
||||
if let Some(limit) = query.limit {
|
||||
items.truncate(limit);
|
||||
}
|
||||
Ok(items)
|
||||
}
|
||||
|
||||
|
||||
@@ -1213,6 +1213,9 @@ impl SqlxUsageReadRepository {
|
||||
}
|
||||
|
||||
builder.push(" ORDER BY \"usage\".created_at ASC, \"usage\".request_id ASC");
|
||||
if let Some(limit) = query.limit {
|
||||
builder.push(" LIMIT ").push_bind(limit as i64);
|
||||
}
|
||||
let query = builder.build();
|
||||
let mut rows = query.fetch(&self.pool);
|
||||
let mut items = Vec::new();
|
||||
|
||||
Reference in New Issue
Block a user