English Version

Итоги.

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

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

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

  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