постоянно подготовленные операторы mysql

Я хочу ускорить некоторые запросы, используя подготовленные операторы на сайте с высоким трафиком. то, что я не думаю, что правильно понимаю, - это преимущество использования подготовленных операторов, если они не могут оставаться готовыми к нескольким соединениям. похоже, что это невозможно с PDO, который также не разрешает постоянные соединения. но функции постоянного подключения не позволяют PDO.

скажем, ради аргументов я выполняю запрос 5000 раз в секунду :ВЫБЕРИТЕ *ИЗ некоторой _таблицы, ГДЕ какой-то столбец _LIKE 'некоторое _значение'

насколько я понимаю, PDO предотвратит повторную -компиляцию и оценку запроса mysql, если я буду менять «некоторое _значение» каждый раз, когда мне нужно выполнить запрос. я также понимаю, что «некоторое значение _» может быть передано в двоичном формате вместо ASCII для экономии полосы пропускания, но это не сильно сэкономило бы, если бы мне приходилось отправлять весь запрос каждый раз, когда я открываю соединение.

также из того, что я прочитал, хранимые процедуры не являются решением, потому что они также не остаются скомпилированными через несколько соединений.

есть ли решение этой проблемы?хранить подготовленный оператор где-то на сервере и сохранять его скомпилированным в памяти и готовым к запуску, как только он получит переменные?

есть ли способ сделать это, объединив пул соединений с PDO? (Хотя я также слышал, что пул соединений не идеален, поскольку при определенных условиях может вызвать блокировку)

5
задан macdabby 23 July 2012 в 02:31
поделиться