2. Menyelamatkan Waktu Membaca: Taktik Odoo Query Optimization Lewat EXPLAIN ANALYZE
562 views
Arsitektur Basis Data
Perang Melawan Kueri yang Melilit
Sektor bisnis manufaktur kerap kali didera keluhan tajam: "Mengapa halaman Laporan Mutasi Stok lambat sekali untuk terbuka?". Pertanyaan semacam inilah yang membawa para teknisi langsung terjun membelah anatomi perintah-perintah bawah tanah menggunakan tombak terkuat dari PostgreSQL, yakni kompas analitik:
EXPLAIN ANALYZE.Saat Odoo mengeksekusi logika ORM kompleks per baris (misalnya, menelusuri ratusan bom barang atau perpindahan inventory bersarang), hasil SQL yang diludahkan mesin seringkali tak sedap dipandang mata. Kuncinya tidak boleh mengandalkan asumsi. Dengan menyelipkan awalan perintah EXPLAIN ANALYZE terhadap kueri pencarian, administrator Database secara literal akan diberikan bon struk biaya kalkulasi dari proses algoritma tersembunyi yang direncakanan sang Planner Optimizer Postgres.
Anatomi Penyakit Seq Scan dan Solusinya
Sebuah "Seq Scan" (Sequential Scan) yang tersurat dalam log Explain merupakan penanda kutukan bagi tabel raksasa. Mesin terpaksa memeriksa setiap baris kotor dari sudut paling awal sampai sudut terujung kepingan Harddisk hanya demi mencari satu berkas transaksi Odoo yang bernilai Draft. Ini sangat boros I/O (Input/Output).
Seringkali perbaikannya semudah mendirikan sebuah pos palang Index B-Tree di pintu masuk desa data tersebut. Tetapi tahukah Anda bahwa index di Postgres akan terabaikan sia-sia jika Anda menggunakan tipe data secara serampangan? Meng-index teks dengan
LIKE '%..%' tanpa dukungan perluasan pg_trgm adalah salah satu penipuan performa yang sering tak disadari banyak pengembang pemula.sql-- Mencari Tahu Titik Lemah Query Mutasi Stok class="text-pink-400 font-bold">EXPLAIN class="text-pink-400 font-bold">ANALYZE class="text-pink-400 font-bold">SELECT id, product_id, location_dest_id, date class="text-pink-400 font-bold">FROM stock_move class="text-pink-400 font-bold">WHERE state = class="text-green-400">'done' class="text-pink-400 font-bold">AND date > class="text-green-400">'2026-03-01';
Penutup dan Rekomendasi Lanjut
Jadikan pemantauan pelacakan dengan
auto_explain atau analisis mingguan terhadap log sebagai Standard Operating Procedure (SOP). Mesin ERP tidak bisa menyembuhkan lukanya sendiri; manusialah yang harus turun mendiagnosis dengan alat yang tepat.