Hiệu suất truy vấn SOQL trong môi trường hộp cát
1. Liên tục dữ liệu: Môi trường hộp cát có dữ liệu liền kề, cho phép thực thi truy vấn hiệu quả hơn. Điều này là do dữ liệu được sao chép từ môi trường sản xuất, đảm bảo rằng các bản ghi được lưu trữ liền kề, giúp cơ sở dữ liệu dễ dàng tìm nạp các bản ghi một cách hiệu quả hơn[2].2. Bộ nhớ đệm và lập chỉ mục: Môi trường hộp cát có kích thước chỉ mục và bộ nhớ đệm nhỏ hơn so với môi trường sản xuất. Điều này có nghĩa là cơ sở dữ liệu có thể nhanh chóng truy cập vào dữ liệu cần thiết mà không cần phải sàng lọc bộ đệm hoặc chỉ mục lớn, dẫn đến việc thực thi truy vấn nhanh hơn[2].
3. Cấu hình phần cứng: Môi trường hộp cát thường được định cấu hình với phần cứng kém mạnh mẽ hơn so với môi trường sản xuất. Tuy nhiên, điều này cũng có thể góp phần thực hiện truy vấn nhanh hơn vì cơ sở dữ liệu ít được tải hơn và có thể phản hồi các truy vấn nhanh hơn[2].
4. Phân mảnh dữ liệu: Môi trường sản xuất thường có dữ liệu bị phân mảnh, điều này có thể dẫn đến việc thực thi truy vấn chậm hơn. Mặt khác, môi trường hộp cát có dữ liệu liền kề, giảm nhu cầu kết nối phức tạp và cải thiện hiệu suất truy vấn[2].
5. Tối ưu hóa truy vấn: Môi trường hộp cát được tối ưu hóa cho hiệu suất truy vấn. Điều này bao gồm việc sử dụng các chỉ mục và bộ nhớ đệm, được thiết kế để cải thiện tốc độ thực hiện truy vấn[2].
Các phương pháp hay nhất để tối ưu hóa truy vấn SOQL
1. Sử dụng các trường được lập chỉ mục: Sử dụng các trường được lập chỉ mục trong mệnh đề WHERE của truy vấn SOQL để cải thiện hiệu suất truy vấn[1].2. Tránh NULLS: Tránh sử dụng NULLS trong truy vấn vì nó ngăn cản việc sử dụng chỉ mục[1].
3. Sử dụng Bộ lọc Truy vấn: Sử dụng các bộ lọc truy vấn có thể đánh dấu dưới 10% dữ liệu để cải thiện hiệu suất truy vấn[1].
4. Tránh ký tự đại diện: Tránh sử dụng ký tự đại diện trong truy vấn, chẳng hạn như `%`, vì nó ngăn việc sử dụng chỉ mục[1].
5. Chia các truy vấn phức tạp: Chia các truy vấn phức tạp thành các truy vấn đơn lẻ đơn giản để sử dụng chỉ mục một cách hiệu quả[1].
6. Chọn trường bắt buộc: Chỉ chọn các trường bắt buộc trong câu lệnh SELECT để giảm lượng dữ liệu được tìm nạp và cải thiện hiệu suất truy vấn[1].
Bằng cách làm theo các phương pháp hay nhất này và hiểu rõ sự khác biệt về hiệu suất truy vấn SOQL giữa môi trường hộp cát và môi trường sản xuất, bạn có thể tối ưu hóa các truy vấn của mình để có hiệu suất và hiệu quả tốt hơn trong Salesforce.
Trích dẫn:[1] https://www.apexhours.com/large-data-volumes-ldv-in-saleforce/
[2] https://saleforce.stackexchange.com/questions/42163/performance-difference-between-sandbox-and-production-instances
[3] https://cofactor.io/saleforce-tutorials/how-to-run-soql-query-in-saleforce
[4] https://bluecanvas.io/blog/optimizations-for-saleforce-orgs-with-lots-of-data-part-2
[5] https://trailhead.saleforce.com/trailblazer-community/feed/0D54V00007T4MRBSA3