Досить багато інтернет-проектів в якості зберігання бази даних використовують СУБД MySQL. При всьому при цьому, існують і інші варіанти вибору, такі як: MS SQL, mSQL, PostrgreSQL, Oracle, і т. д., але практичний кожен хостер надає послуги, які з великою ймовірністю включена можливість використання баз даних MySQL. Такої популярності могло послужити безліч вагомих причин, однією з яких є те, що продукт має відкритий вихідний код, іншими словами Open Source, який може отримати кожен бажаючий (для версій Windows існують деякі застереження). Так само існує думка, що зв’язка PHP/MySQL, або Perl/MySQL може дати великий показник швидкодії, яке в інших випадках досягається набагато складніше. До того ж, PHP в стандартній збірці має вбудовану підтримку MySQL.

Для створення запитів на сервер MySQL, так само як і в більшості інших СУБД, що використовується мова SQL. SQL мова є домінуючою мовою для роботи з базами даних, проте кожна база даних так само може мати свої «діалекти» мови SQL, які притаманні конкретній різновиди СУБД.

Так само як і в будь-якій базі даних існують деякі норми, при яких сервер бази даних функціонує належним чином. Стати однією з причин гальмування системи може складний SQL запит, який займає тривалий час на виконання. Важкі SQL запити створюють велике навантаження на MySQL сервер, що в цілому позначається на продуктивності системи в цілому. Парою це буває вкрай критично на «бойовому» сервері, коли гальмування системи може подарувати купу додаткових проблем.

Такі запити, як правило, слід оптимізувати, але що робити, якщо потрібно прибрати запит з черги, який в силу своєї замудренности завис.
Є спосіб, іменований у народі «незграбним» рішенням проблеми, це перезапуск MySQL сервера.

Є й інший спосіб, який часто є більш раціональним, це “вбити” проблемний запит MySQL. Зробити це можна за допомогою SSH, або який-небудь утилітою, приміром, phpMyAdmin.

Прибираємо важкий MySQL запит по SSH:

1. Заходимо на сервер SSH
2. Виконуємо команду:

$ mysql –u USER –p

Замість USER вказуємо користувача MySQL
3. Вводимо пароль від облікового запису КОРИСТУВАЧА
4. Виконуємо команду

show processlist;

(не забуваємо вказати крапку з комою на кінці)
5. Дізнаємося ID проблемного запиту
6. Виконуємо команду

Kill query 11223

Замість 11223 вказуємо ID запиту, який потрібно прибрати.
В phpMyAdmin це робиться ще простіше.

Прибираємо важкий MySQL запит в phpMyAdmin:

1. Авторізуємось, вибираємо базу даних
2. Відкриваємо поле вводу команд (вкладка «SQL»)
3. Вводимо команду

show processlist

4. З’являється список запитів, на потрібному запиті тиснемо посилання «завершити»

Додав: htmaker, 30.08.2013 р.
(4 голосів, середній: 4,00 з 5)

Завантаження…

Діліться з друзями:

См. також:


Змінюємо пароль root в MySQL 5.7
Рубрика: Linux, MySQL

Виправлення помилок у базі MySQL
Рубрика: MySQL

Відновлення пароля root в MySQL
Рубрика: MySQL

Утиліта Mytop для MySQL
Рубрика: Linux, MySQL

Кількість запитів до MySQL в режимі реального часу
Рубрика: MySQL

Як дізнатися час виконання MySQL запиту?
Рубрика: MySQL

Оптимізація MySQL (просто про складному)
Рубрика: MySQL

Повнотекстовий індекс: Full text index
Рубрика: MySQL

Вставлення стовпців: ALTER TABLE ADD
Рубрика: MySQL