Diartikel ini saya akan membahas salah satu bug fix, error yang disebabkan oleh governor limit khususnya apex salesforce, error ini akan ditemukan jika proses eksekusi data akan melibatkan banyak data, sebagai contoh ya, user mengupdate record opportunity yang mempunyai child opportunity line item, error tidak akan ditemui jika child (opportunity line item) hanya mempunyai jumlah yang sedikit, jika banyak akan mengakibatkan error karena limit dari salesforce itu sendiri.
Beberapa contoh code untuk menghindari governor limit:
Bulkifying DML calls
singkatnya adalah untuk mengupdate data secara bersama yang dikumpulkan di sebuah tampungan list, contohnya dari pada kita mengupdate tiap record satu persatu di dalam loop, lebih efisien jika kita mengumpulkan data yang akan diupdate di dalam list kemudian mengupdate secara bersama data di list tersebut (bulkifying).
// Contoh yg kurang efisien, akan menyebabkan limit jika list lebih dari 150 for(opportunityLineItem li : liList) { if (li.Units > 10) { li.Description = 'Banyak rek!!'; } update li; }
//Contoh bulkify code List<OpportunityLineItem> updatedList = new List<OpportunityLineItem>(); for(OpportunityLineItem li : liList) { if (li.Units > 10) { li.Description = 'Banyak rekk!!'; updatedList.add(li); } } update updatedList;
Efisiensi soql query
Soql for loop
Tidak ada komentar:
Posting Komentar