Dashboard utama mengambil >8 saat untuk load selepas deployment v2.5.1 semalam. Pengguna melaporkan query SQL dan API response time yang perlahan.
Kurangkan masa load dashboard dari >8 saat kepada <2 saat untuk meningkatkan pengalaman pengguna dan kadar pengekalan.
Deployment v2.5.1 memperkenalkan widget analitik baru yang menjalankan query SQL berat pada setiap load. N+1 query problem pada user list API.
transactions.created_at & orders.user_idCache boleh menyebabkan data stale sehingga 60s. Acceptable untuk dashboard analitik.
# Sebelum: N+1 query - lambat
# for user in users:
# user.orders = db.query(Order).filter_by(user_id=user.id).all()
# Selepas: single query + cache
@cache.cached(ttl=60, key_prefix="dashboard_stats")
def get_dashboard_stats():
stats = (
db.query(
func.count(User.id).label("total_users"),
func.coalesce(func.sum(Order.total), 0).label("revenue"),
)
.select_from(User)
.outerjoin(Order)
.first()
)
return asdict(stats)