perf: 复购率视图也转物化视图,健康分API加速到0.3秒
This commit is contained in:
@@ -217,7 +217,7 @@ router.get('/member/comparison', async (req: AuthRequest, res) => {
|
||||
|
||||
router.get('/member/repeat', async (req: AuthRequest, res) => {
|
||||
try {
|
||||
const result = await query(`SELECT * FROM analytics.v_store_repeat_summary_monthly ORDER BY repeat_rate_pct DESC NULLS LAST`)
|
||||
const result = await query(`SELECT * FROM analytics.mv_store_repeat_summary_monthly ORDER BY repeat_rate_pct DESC NULLS LAST`)
|
||||
sendSuccess(res, result.rows)
|
||||
} catch (err: any) {
|
||||
sendError(res, err.message)
|
||||
@@ -428,7 +428,7 @@ router.get('/stores/:code/member', async (req: AuthRequest, res) => {
|
||||
try {
|
||||
const [oppResult, repeatResult, monthlyResult] = await Promise.all([
|
||||
query(`SELECT * FROM analytics.v_store_member_opportunity WHERE store_code = $1`, [req.params.code]),
|
||||
query(`SELECT * FROM analytics.v_store_repeat_summary_monthly WHERE store_code = $1`, [req.params.code]),
|
||||
query(`SELECT * FROM analytics.mv_store_repeat_summary_monthly WHERE store_code = $1`, [req.params.code]),
|
||||
query(`
|
||||
SELECT store_code, store_name, count(*) as member_count,
|
||||
sum(orders) as total_orders, sum(received) as total_received,
|
||||
|
||||
Reference in New Issue
Block a user