Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Mengapa kueri SOQL berjalan lebih cepat di lingkungan sandbox


Mengapa kueri SOQL berjalan lebih cepat di lingkungan sandbox


Performa Kueri SOQL di Lingkungan Sandbox

1. Kedekatan Data: Lingkungan Sandbox memiliki data yang berdekatan, sehingga memungkinkan eksekusi kueri lebih efisien. Hal ini karena data disalin dari lingkungan produksi, memastikan bahwa catatan disimpan secara berdekatan, sehingga memudahkan database untuk mengambil catatan secara efisien [2].

2. Cache dan Pengindeksan: Lingkungan Sandbox memiliki ukuran cache dan indeks yang lebih kecil dibandingkan dengan lingkungan produksi. Artinya database dapat dengan cepat mengakses data yang diperlukan tanpa harus menyaring cache atau indeks yang besar, sehingga menghasilkan eksekusi query yang lebih cepat [2].

3. Konfigurasi Perangkat Keras: Lingkungan Sandbox biasanya dikonfigurasi dengan perangkat keras yang kurang kuat dibandingkan dengan lingkungan produksi. Namun, hal ini juga dapat berkontribusi pada eksekusi kueri yang lebih cepat karena database lebih sedikit dimuat dan dapat merespons kueri dengan lebih cepat[2].

4. Fragmentasi Data: Lingkungan produksi sering kali memiliki data yang terfragmentasi, yang dapat menyebabkan eksekusi kueri menjadi lebih lambat. Lingkungan Sandbox, di sisi lain, memiliki data yang berdekatan, sehingga mengurangi kebutuhan akan penggabungan yang kompleks dan meningkatkan kinerja kueri [2].

5. Optimasi Kueri: Lingkungan Sandbox dioptimalkan untuk performa kueri. Hal ini mencakup penggunaan indeks dan caching, yang dirancang untuk meningkatkan kecepatan eksekusi kueri[2].

Praktik Terbaik untuk Mengoptimalkan Kueri SOQL

1. Gunakan Bidang yang Diindeks: Gunakan bidang yang diindeks dalam klausa WHERE kueri SOQL untuk meningkatkan kinerja kueri[1].

2. Hindari NULLS: Hindari penggunaan NULLS dalam kueri karena mencegah penggunaan indeks[1].

3. Gunakan Filter Kueri: Gunakan filter kueri yang dapat menyorot kurang dari 10% data untuk meningkatkan performa kueri[1].

4. Hindari Wildcard: Hindari penggunaan wildcard dalam kueri, seperti `%`, karena akan mencegah penggunaan indeks[1].

5. Memecahkan Kueri Kompleks: Memecah kueri kompleks menjadi kueri tunggal sederhana untuk menggunakan indeks secara efektif[1].

6. Pilih Bidang Wajib: Pilih hanya bidang wajib dalam pernyataan SELECT untuk mengurangi jumlah data yang diambil dan meningkatkan kinerja kueri[1].

Dengan mengikuti praktik terbaik ini dan memahami perbedaan performa kueri SOQL antara lingkungan sandbox dan produksi, Anda dapat mengoptimalkan kueri untuk performa dan efisiensi yang lebih baik di Salesforce.

Kutipan:
[1] https://www.apexhours.com/large-data-volumes-ldv-in-salesforce/
[2] https://salesforce.stackexchange.com/questions/42163/kinerja-difference-between-sandbox-and-production-instances
[3] https://coefisien.io/salesforce-tutorials/how-to-run-soql-query-in-salesforce
[4] https://bluecanvas.io/blog/optimizations-for-salesforce-orgs-with-lots-of-data-part-2
[5] https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007T4MRBSA3