Меняет ли атрибут mysql в php атрибут для всех или только для текущего соединения? - PullRequest
0 голосов
/ 09 ноября 2018

Я выполняю MySQL-запрос в php, который возвращает много данных и занимает некоторое время для запуска. Чтобы запустить этот запрос, я должен сказать mysql не буферизовать запрос.

Я использую курсор mysql для обработки запроса во время его выполнения, что позволяет мне значительно сэкономить на использовании памяти.

Чтобы использовать курсор, я должен установить MYSQL_ATTR_USE_BUFFERED_QUERY = false.

Например:

// Turn off mysql buffering
DB::connection()->getPdo()->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);

$complexQuery->cursor();

// Turn mysql buffering back on
DB::connection()->getPdo()->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);

Выполнение этого запроса занимает около 12 секунд. Я хочу знать, если в это время другие сеансы также имеют MYSQL_ATTR_USE_BUFFERED_QUERY = false или это определенное соединение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...