| |
Суммируя описанное в данной части хотелось бы порекомендовать следующее:
Старайтесь всегда найти запрос, вызывающий нежелаемое поведение
Используйте логи:
Анализируйте что неправильно, в соответствии с результатом устраняйте проблему
Ниже приведен список приёмов, которые мы рассмотрели в первой части.
Приём 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 |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |