Saya memiliki koleksi besar di MongoDB dengan jutaan dokumen dan query saya berjalan sangat lambat. Bagaimana cara mengoptimalkan query MongoDB saya untuk meningkatkan performa?
Ada 7 cara meningkatkan performa:
1. Indexing: Pastikan field yang sering digunakan di query memiliki index (single-field atau compound index).
2. Projection: Hanya ambil field yang diperlukan, jangan ambil seluruh dokumen.
3. Filter Query: Gunakan filter yang spesifik untuk mengurangi jumlah dokumen yang di-scan.
4. Avoid $regex di awal: Jika pakai $regex
, hindari pola yang diawali ^.*
.
5. Analyze Query: Gunakan explain()
untuk cek query plan. Optimalkan jika ada COLLSCAN
.
6. Shard Data: Jika data terlalu besar, gunakan sharding.
7. Aggregation Pipeline: Pakai pipeline untuk operasi kompleks, bukan query berulang.
semoga membantu ya