0

我试图了解如何最好地使用准备好的语句来改善我的一两个查询的响应时间。我在这里阅读了许多帖子并一直在尝试。

我想确认/澄清我的理解是正确的并且我正朝着正确的方向前进 - 特别是我想知道我是否可以在准备中包含执行以及如何将条件语句合并到准备中。

我想知道我是否应该将条件语句作为 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;
       ";
4

1 回答 1

0

为了提高查询的响应时间,必须分析EXPLAIN query语句的输出并采取措施来限制文件排序和临时表的使用,并减少检查的行数。
不幸的是,准备好的语句对这些事情都没有帮助。

于 2013-01-16T13:22:51.183 回答