我试图了解如何最好地使用准备好的语句来改善我的一两个查询的响应时间。我在这里阅读了许多帖子并一直在尝试。
我想确认/澄清我的理解是正确的并且我正朝着正确的方向前进 - 特别是我想知道我是否可以在准备中包含执行以及如何将条件语句合并到准备中。
我想知道我是否应该将条件语句作为 mysqli 代码的一部分而不是实际的准备语句,如果是这样,这样做是否会产生性能成本。
此代码不起作用:
PREPARE get_Class_Session FROM
"SELECT @COUNT:=COUNT(*) FROM (SELECT time_Table_Key,
date,
DATE_FORMAT(date, '%W') AS day,
slot,
class_Session
FROM `Time_Table`
WHERE (((date >=? && date <= ?) && DAYOFWEEK(date)=? && (slot >=? && slot <=?)) && class_Session ='0'))
AS time_Table_Keys;
IF @COUNT = '0' THEN
EXECUTE update_Time_Table USING @start_Date, @end_Date, @day, @start_Time, @end_Time;
END IF;
";