집 >데이터 베이스 >MySQL 튜토리얼 >성능 분석을 위해 Django 애플리케이션의 모든 SQL 쿼리를 어떻게 기록할 수 있나요?
SQL 쿼리 로깅을 통한 Django 데이터베이스 성능 분석
효과적인 데이터베이스 성능 모니터링은 모든 Django 애플리케이션에 매우 중요합니다. 이 가이드에서는 애플리케이션에서 실행되는 모든 SQL 쿼리를 기록하는 방법을 자세히 설명하고 성능 조정 및 디버깅에 대한 귀중한 통찰력을 제공합니다.
모든 SQL 쿼리 캡처 및 로깅
이 프로세스에는 LOGGING
파일에서 settings.py
설정을 구성하는 작업이 포함됩니다. 단계별 분석은 다음과 같습니다.
connection
: 실행된 쿼리 목록에 액세스하는 데 필요한 모듈을 가져옵니다.<code class="language-python">from django.db import connection</code>
LOGGING
구성: 다음과 같이 LOGGING
에서 settings.py
설정을 추가하거나 수정합니다.<code class="language-python">LOGGING = { 'version': 1, 'filters': { 'require_debug_true': { '()': 'django.utils.log.RequireDebugTrue', } }, 'handlers': { 'console': { 'level': 'DEBUG', 'filters': ['require_debug_true'], 'class': 'logging.StreamHandler', } }, 'loggers': { 'django.db.backends': { 'level': 'DEBUG', 'handlers': ['console'], } } }</code>
구성 이해
handlers
: console
핸들러는 로그 메시지를 콘솔에 출력합니다. 모든 디버그 수준 메시지를 캡처하려면 level
이 DEBUG
으로 설정됩니다. require_debug_true
필터는 설정에서 DEBUG = True
일 때만 로깅이 발생하도록 보장합니다.
loggers
: 데이터베이스 상호 작용 로그가 기록되는 django.db.backends
로거가 대상입니다. console
핸들러를 사용하고 DEBUG
수준에서 로그하도록 구성되어 있습니다.
전체 예시
쿼리를 보려면 적절한 위치(예: 관리 명령 또는 테스트)에 다음을 포함할 수 있습니다.
<code class="language-python">from django.db import connection # ... (LOGGING configuration from above) ... print(connection.queries)</code>
이 포괄적인 로깅 접근 방식은 모든 데이터베이스 상호 작용에 대한 자세한 기록을 제공하여 성능 병목 현상을 식별하고 데이터베이스 관련 문제를 디버깅하는 데 도움이 됩니다. 이 로깅이 올바르게 작동하려면 DEBUG = True
에서 settings.py
을 설정해야 합니다. 프로덕션 환경에서는 더욱 강력한 로깅 솔루션을 사용해 보세요.
위 내용은 성능 분석을 위해 Django 애플리케이션의 모든 SQL 쿼리를 어떻게 기록할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!