レポートの目的でページ上のテーブルのデータを動的に生成する15のクエリがあります。各クエリには250〜900ミリ秒かかります。これは、サーバーの負荷に応じて4〜13秒のページ読み込み時間を意味します。読み込み時間により、一部のユーザーはページがまったく読み込まれないと考えています。
クエリを合理化して、より許容できる読み込み時間を与える方法があるかどうか疑問に思いました。クエリの1つは次のとおりです。
<cfquery datasource="MeetingDB" name="One">
SELECT COUNT( meetingID ) AS countatron
FROM case_meeting
WHERE meetingID
IN (
SELECT DISTINCT a.meetingID
FROM case_meeting a
INNER JOIN meeting b ON a.meetingID = b.meetingID
WHERE b.categoryID = '1'
AND SUBSTRING( meetingCode, 5, 2 )
BETWEEN 12
AND 22
AND SUBSTRING( meetingCode, 7, 2 )
BETWEEN 01
AND 12
AND SUBSTRING( meetingCode, 9, 2 )
BETWEEN 01
AND 31
)
AND caseID
IN (
'1', '2', '3', '28', '29', '30', '39', '40', '45'
)
GROUP BY meetingID
HAVING COUNT( caseID ) > 0 AND COUNT( caseID ) < 2
</cfquery>
<td><cfoutput> #One.recordcount# </cfoutput></td>