Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Log Semua Pertanyaan SQL dalam Aplikasi Django Saya untuk Analisis Prestasi?

Bagaimanakah Saya Boleh Log Semua Pertanyaan SQL dalam Aplikasi Django Saya untuk Analisis Prestasi?

Patricia Arquette
Lepaskan: 2025-01-15 21:16:45
asal
483 orang telah melayarinya

How Can I Log All SQL Queries in My Django Application for Performance Analysis?

Menganalisis Prestasi Pangkalan Data Django dengan Log Pertanyaan SQL

Pemantauan prestasi pangkalan data yang berkesan adalah penting untuk mana-mana aplikasi Django. Panduan ini memperincikan cara untuk log semua pertanyaan SQL yang dilaksanakan oleh aplikasi anda, memberikan cerapan berharga untuk penalaan prestasi dan penyahpepijatan.

Merakam dan Melog Semua Pertanyaan SQL

Proses ini melibatkan konfigurasi tetapan LOGGING dalam fail settings.py anda. Berikut ialah pecahan langkah demi langkah:

  1. Import connection: Import modul yang diperlukan untuk mengakses senarai pertanyaan yang dilaksanakan:
<code class="language-python">from django.db import connection</code>
Salin selepas log masuk
  1. Konfigurasikan LOGGING: Tambah atau ubah suai tetapan LOGGING dalam settings.py seperti berikut:
<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>
Salin selepas log masuk

Memahami Konfigurasi

  • handlers: Pengendali console mengeluarkan mesej log ke konsol. level ditetapkan kepada DEBUG untuk menangkap semua mesej peringkat nyahpepijat. Penapis require_debug_true memastikan pengelogan hanya berlaku apabila DEBUG = True dalam tetapan anda.

  • loggers: Pembalak django.db.backends disasarkan, kerana di sinilah log interaksi pangkalan data direkodkan. Ia dikonfigurasikan untuk menggunakan pengendali console dan log pada tahap DEBUG.

Contoh Lengkap

Untuk melihat pertanyaan, anda boleh memasukkan perkara berikut di lokasi yang sesuai (cth., arahan pengurusan atau ujian):

<code class="language-python">from django.db import connection

# ... (LOGGING configuration from above) ...

print(connection.queries)</code>
Salin selepas log masuk

Pendekatan pengelogan komprehensif ini menyediakan rekod terperinci semua interaksi pangkalan data, membantu dalam mengenal pasti kesesakan prestasi dan menyahpepijat isu berkaitan pangkalan data. Ingat untuk tetapkan DEBUG = True dalam settings.py anda agar pengelogan ini berfungsi dengan betul. Pertimbangkan untuk menggunakan penyelesaian pembalakan yang lebih mantap untuk persekitaran pengeluaran.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Log Semua Pertanyaan SQL dalam Aplikasi Django Saya untuk Analisis Prestasi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan