Кэширование подготовленных отчетов PDO

Есть ли смысл сохранять подготовленные отчеты PDO для повторного использования в сеансе?

Я создаю сайт, который использует MySQL полнотекстовые запросы, которые я собираю в своем PHP, например

SELECT * FROM table WHERE MATCH (title) AGAINST ($search_string IN BOOLEAN MODE) AND MATCH (keywords) AGAINST ($keywords IN BOOLEAN MODE) ORDER BY $order_by $asc_desc 

По-видимому, для запуска такого рода запросов требуется намного больше времени, когда я готовлю и выполняю его с привязанными параметрами, чем когда я просто готовлю и выполняю строку запроса с включенными значениями. Но мне нужно использовать подготовленные инструкции, чтобы предотвратить риск внедрения SQL.

В любом сеансе я, скорее всего, запускаю один и тот же запрос несколько раз с разными значениями параметров. Будет ли иметь смысл сохранить объект PDOStatement после его создания (например, в сеансе)? Если да, то какой был бы лучший способ сделать это? Будет ли хорошей практикой сохранять каждый подготовленный оператор в ассоциативном массиве по мере его создания, причем строка запроса SQL является ключом для каждого?


При дальнейшем чтении я обнаружил, что вы не можете использовать связанные параметры для ORDER BY и ASC / DESC часть инструкции. Когда я заменяю их на фиксированные значения, производительность улучшается.