Как посмотреть какие sql запросы идут в mariadb и с какой скоростью они выполняются?
Для просмотра SQL-запросов, которые выполняются в MariaDB, и оценки их скорости выполнения, можно использовать несколько методов. Вот несколько способов, которые помогут вам в этом:
### 1. Использование `slow query log`
Медленный лог (slow query log) — это механизм, который позволяет MariaDB записывать запросы, выполнение которых занимает больше определенного времени.
1. **Включение slow query log:**
В файле конфигурации MariaDB (`my.cnf` или `my.ini`) добавьте или измените следующие параметры:
```ini
slow_query_log = 1
slow_query_log_file = /path/to/slow-query.log
long_query_time = 2
```
Здесь `/path/to/slow-query.log` — это путь к файлу лога, а `long_query_time` — минимальное время выполнения запроса в секундах, после которого запрос будет записан в лог.
2. **Перезапуск MariaDB:**
После внесения изменений перезапустите MariaDB, чтобы изменения вступили в силу.
3. **Анализ лога:**
Используйте команду `mysqldumpslow` или аналогичные инструменты для анализа лога медленных запросов. Например:
```sh
mysqldumpslow /path/to/slow-query.log
```
### 2. Использование `general query log`
Общий лог (general query log) записывает все запросы, которые поступают на сервер MariaDB.
1. **Включение general query log:**
В файле конфигурации MariaDB добавьте или измените следующие параметры:
```ini
general_log = 1
general_log_file = /path/to/general-query.log
```
Здесь `/path/to/general-query.log` — это путь к файлу общего лога.
2. **Перезапуск MariaDB:**
После внесения изменений перезапустите MariaDB.
3. **Анализ лога:**
Откройте файл общего лога и просмотрите записанные запросы.
### 3. Использование `SHOW PROCESSLIST`
Команда `SHOW PROCESSLIST` позволяет просматривать текущие запросы, выполняемые на сервере MariaDB.
1. **Выполнение команды:**
Выполните следующую команду в командной строке MariaDB:
```sql
SHOW FULL PROCESSLIST;
```
Эта команда покажет список всех текущих процессов и запросов, включая их состояние и время выполнения.
### 4. Использование `EXPLAIN`
Команда `EXPLAIN` позволяет проанализировать план выполнения запроса и оценить его эффективность.
1. **Выполнение команды:**
Выполните следующую команду для анализа конкретного запроса:
```sql
EXPLAIN SELECT * FROM your_table WHERE your_condition;
```
Замените `your_table` и `your_condition` на соответствующие значения.
Эти методы помогут вам отслеживать и анализировать SQL-запросы, выполняемые в MariaDB, и оценивать их производительность.