4 つのサブクエリで構成されるクエリがあります。クエリは次のとおりです。
SELECT
(SELECT
COUNT(id)
FROM timelog
WHERE emp_id = 1
AND am_in > GET_TIME_IN1(emp_id, DATE)) AS tardy1,
(SELECT
COUNT(id)
FROM timelog
WHERE emp_id = 1
AND pm_in > GET_TIME_IN2(emp_id, DATE)) AS tardy2,
(SELECT balance FROM leave_credit lc JOIN leave_type lt ON lc.leave_type_id = lt.id WHERE emp_id = 1 AND lt.active = TRUE) AS balance,
(SELECT leave_type_id FROM leave_credit lc JOIN leave_type lt ON lc.leave_type_id = lt.id WHERE emp_id = 1 AND lt.active = TRUE) AS leave_type_id
そのようにして、PHP から SQL サーバーへのクエリ文字列を 1 つだけにして、すべての結果をインスタンスで取得できるようにしました。サブクエリがパフォーマンスに影響を与える可能性があることは知っていますが、私の状況では、問題に対処するためのより良い方法はありますか?
サンプル データ: タイムログ テーブル
クレジットテーブルを離れる