準備済みステートメントを使用して、1 つまたは 2 つのクエリの応答時間を改善する最善の方法を理解しようとしています。私はここで多くの投稿を読み、実験してきました。
私の理解が正しいこと、および正しい方向に向かっていることを確認/明確化してください。特に、準備に実行を含めることができるかどうか、および準備内に条件ステートメントを組み込む方法を知りたいです。
実際の準備済みステートメントではなく、条件付きステートメントを 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;
";