The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Базы данных, SQL" / Оглавление документа

Итоги.

Суммируя описанное в данной части хотелось бы порекомендовать следующее:

Старайтесь всегда найти запрос, вызывающий нежелаемое поведение

Используйте логи:

  1. General query log
  2. Логи в вашем приложении
  3. MySQL Proxy или любой другой прокси
  4. Другие

Анализируйте что неправильно, в соответствии с результатом устраняйте проблему

Ниже приведен список приёмов, которые мы рассмотрели в первой части.

Приём 1: используйте оператор вывода для вывода запроса в том виде, в котором его получает СУБД.

Приём 2: используйте general query log, если вам нужно определить какой именно запрос вызывает неправильное поведение вашего приложения.

Приём 3: после того как вы выявили запрос, вызывающий проблемы, запустите его в командной строке и проанализируйте полученный результат.

Приём 4: пробуйте изменить SQL таким образом, чтобы результат был правильным. Пользуйтесь поисковыми системами для нахождения workaround.

Приём 5: используйте EXPLAIN EXTENDED для того, чтобы понять каким образом оптимизируется (а значит и выполняется) SQL запрос.

Приём 6: преобразуйте DML запросы в соответствующий SELECT чтобы выяснить какие строки будут изменены.

Приём 7: проверяйте ваш сценарий шаг за шагом в обратном порядке пока не найдёте проблемный запрос.

Приём 8: всегда проверяйте результат запроса! Используйте инструменты вашего коннектора или вывод интерактивного клиента.

Приём 9: настройте ваше приложение таким образом, что оно будет записывать логи запросов самостоятельно.

Приём 10: используйте MySQL Proxy или любой другой прокси.

Назад Содержание Вперёд

Автор 2009 Света Смирнова
COPYRIGHT © 2009 С.Смирнова и С.Ласунов
sveta_гав_js-client_точка_com




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру