所以我有一个查询的以下WHERE语句调用存储过程被用在WHERE语句
WHERE
(SELECT max(pa.txndate)
FROM player_activity pa
WHERE pa.userID = customer_profile.userID
) = date(CURDATE()) - INTERVAL 7 DAY
我的查询实际上有几个其他的子查询,但有人告诉我,我的所有子查询会导致性能下降,因此我需要使用存储过程。
创建以下
CREATE PROCEDURE `getMaxPaDate`()
BEGIN
SELECT userid, max(txndate)
FROM player_activity
GROUP by userid;
END
但是,我没有对如何调用存储过程,所以毫不奇怪,下面并没有为我工作头绪。
WHERE
call getMaxPaDate() = date(CURDATE()) - INTERVAL 7 DAY
帮助?
您需要将其设置为一个函数,而不是一个过程,它将不得不将'userID'作为参数。但我认为这不会改善性能。 – Barmar