0
我有以下存儲過程:如何重寫查詢以避免記錄作爲log_queries_not_using_indexes
CREATE PROCEDURE testProc(IN p_idProject INTEGER)
BEGIN
DECLARE nowTime DATETIME;
SET @nowTime = NOW();
SELECT
idCustomer
FROM NextCalls WHERE @nowTime-nextCall =
(SELECT MAX(@nowTime - nextCall)
FROM NextCalls
WHERE idProject = p_idProject AND nextCall < @nowTime)
LIMIT 1;
END $$
有指數nextCall
列設置。不幸的是,它正在被登錄到mysql-slow.log
文件作爲查詢,沒有正確使用索引。此過程非常經常使用,我很樂意避免錯誤的索引。是否可以重寫來實現這一點?
我得失明 - 如此明顯的解決方案:) Thx。順便說一句 - 您在'CURRENT_TIMESTAMP'中忘記了'E' – Joe
更正了current_timestamp。尋找最簡單的解決方案通常並不容易。 :) – Matijs