MySQL 8 Select Statement, чтобы получить 'Last_query_cost' - PullRequest
1 голос
/ 27 октября 2019

Существует команда MySQL CLI

SHOW STATUS LIKE 'Last_query_cost';

, но как получить эту информацию с помощью простого запроса SELECT?

Существует ли какая-либо команда экранирования / переноса MySQL CLI, так что она может бытьиспользуется в простом операторе SELECT?

Возможно, есть схема, которую я мог бы запросить с помощью SELECT, чтобы получить информацию, предоставленную командой SHOW STATUS LIKE 'Last_query_cost';?

Ответы [ 2 ]

2 голосов
/ 27 октября 2019

В mysql v5.7 и более ранних версиях все глобальные переменные и переменные сеанса хранятся в таблицах INFORMATION_SCHEMA GLOBAL_STATUS и SESSION_STATUS.

Как Руководство по mysql гласит:

Таблицы GLOBAL_STATUS и SESSION_STATUS предоставляют информацию о переменных состояния сервера. Их содержимое соответствует информации, получаемой с помощью операторов SHOW GLOBAL STATUS и SHOW SESSION STATUS.

В mysql v8 эти таблицы перемещены в схему performance, см. mysql manual .

1 голос
/ 27 октября 2019

Используя информацию, представленную в принятом ответе, выберите запрос SELECT, чтобы получить Last_query_cost (MySQL8):

SELECT `variable_value` 
FROM `performance_schema`.`session_status` 
WHERE `variable_name` = 'Last_query_cost';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...