我一直在尝试优化从数据库检索数据以在软件开发的“仪表板”页面上显示的方式。
我的数据库结构如下:
- 需求表包含各种需求及其各个字段,但重要的是REQ_ID作为键。
- 任务表包含多个任务,其中包括TASK_ID、TASK_NAME(DEV、TEST或RELEASE)、TASK_STATUS(未开始、完成、受阻)、TASK_WINDOW(完成任务的周数等),并且与一个包含REQ_I的需求相关联。例如,一个需求可能有多个开发任务、测试任务和发布任务,但只有当与需求相关的所有开发任务都完成时,才能算作开发完成;否则就是不完整的。
我想查询这两个表,以便在单个查询中提供一个结果集,该结果集分别包含每个DEV任务窗口中DEV Complete、Test Complete和Release Complete需求的数量。目前,我正在执行多个查询,每个查询都包含子查询,然后使用PHP汇总结果,但总共需要15秒才能执行。请问有谁可以帮助我将其合并为一个单独的查询呢?
SUM(CASE...)
。有什么它不能解决的问题吗? - JNK