0
我的查詢執行時間太長。請幫我簡化一下? 這裏是我的查詢:如何簡化SQL選擇命令
SELECT uid,etop_id,SUM(amount) AS amt,
(SELECT m_name FROM member_details WHERE etop_id=a.etop_id) AS m_name,
(SELECT SUM(amount) FROM hidden_charges WHERE etop_id=a.etop_id
AND entry_date BETWEEN @date1 AND @date2 AND particular IS NULL
) AS hidden,
(SELECT (SUM(credit)-SUM(debit))
FROM member_transaction
WHERE member_id=a.uid
AND is_succeed=1
AND isnull(reference_id,0) NOT IN(SELECT
user_reference_id FROM recharge_request WHERE status=7)
) AS balance,
( SELECT TOP 1 credit
FROM member_transaction
WHERE member_id=a.uid
AND credit>0
AND entry_date=(SELECT MAX(entry_date)
FROM member_transaction
WHERE member_id=a.uid AND credit>0)) AS credit
FROM recharge_request a WHERE status=1 AND rdate BETWEEN @date1 AND @date2
GROUP BY etop_id, uid ORDER BY amt DESC
您是否知道可能的sql注入? – Andreas
是的,我用參數替換文本框。 –
@AmitMishra。 。 。通過刪除子句來簡化查詢,找出需要花費的時間。然後用簡化查詢問另一個問題。 –