Есть ли способ использовать фактический SQL запрос (используя Performance_schema из MySql) в SpringBoot? - PullRequest
0 голосов
/ 10 марта 2020

Я новичок в Spring и SpringBoot в целом. Я пришел сюда, потому что не могу найти способ использовать схему производительности в своих запросах к моему локальному MysqlDB с помощью Spring.

Я пытался использовать аннотацию @Query, но обнаружил, что она использует JPQL.

Мой запрос

    SELECT EVENT_ID, TRUNCATE(TIMER_WAIT / 1000000000000, 6) AS Duration, SQL_TEXT 
    FROM performance_schema.events_statements_history_long
    WHERE (TRUNCATE(TIMER_WAIT / 1000000000000, 6)) > 0.002;

(Пожалуйста, игнорируйте этот ужасный запрос, я просто хочу показать, что я хочу использовать таблицы performance_schema) То, что я увидел, это то, что я должен использовать JPQL для запросов, но я не не вижу, как я могу это сделать, если performance_schema «скрыта».

Я пытаюсь получить информацию о запросах в моей БД, отслеживая в целом. Вот почему я использую схему производительности.

Я хотел бы знать, как я могу передать этот запрос или есть ли другой способ получения такой информации из моей БД (не только этот запрос, это пример того, что я буду делать).

Кроме того, почему так мало информации о схеме Performance. Разве это не хорошо? Есть ли другой инструмент, который я не могу найти?

Спасибо всем

Ответы [ 2 ]

0 голосов
/ 11 марта 2020
  • В старых версиях MySQL не было PERFORMANCE_SCHEMA. Какую версию вы используете?
  • TRUNCATE() ?? Может быть, вы имели в виду FLOOR() или ROUND()?
  • См. Также

    EXPLAIN SELECT ...
    EXPLAIN FORMAT=JSON SELECT ...
    the slowlog -- turn on and have `long_query_time = 1`.
    
0 голосов
/ 10 марта 2020

Там нет информации о запросах https://en.wikipedia.org/wiki/Information_schema эта структура используется самой базой данных для оптимизации запросов (обычно).

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