Производительность запросов SOQL в изолированной среде
1. Непрерывность данных. В средах песочницы имеются непрерывные данные, что позволяет более эффективно выполнять запросы. Это связано с тем, что данные копируются из производственной среды, обеспечивая непрерывное хранение записей, что упрощает эффективный выбор записей из базы данных[2].2. Кэш и индексирование. В изолированных средах размер кэша и индекса меньше, чем в рабочих средах. Это означает, что база данных может быстро получить доступ к необходимым данным без необходимости просматривать большой кеш или индекс, что приводит к более быстрому выполнению запросов[2].
3. Конфигурация оборудования. В изолированных средах обычно используется менее мощное оборудование по сравнению с производственными средами. Однако это также может способствовать более быстрому выполнению запросов, поскольку база данных менее загружена и может быстрее реагировать на запросы[2].
4. Фрагментация данных. В производственных средах данные часто фрагментированы, что может привести к замедлению выполнения запросов. С другой стороны, в изолированных средах данные непрерывны, что снижает необходимость в сложных соединениях и повышает производительность запросов[2].
5. Оптимизация запросов. Песочница оптимизирована для повышения производительности запросов. Сюда входит использование индексов и кэширования, которые предназначены для повышения скорости выполнения запросов[2].
Лучшие практики по оптимизации запросов SOQL
1. Используйте индексированные поля. Используйте индексированные поля в предложении WHERE запросов SOQL для повышения производительности запросов[1].2. Избегайте NULLS: избегайте использования NULLS в запросах, поскольку это предотвращает использование индексов[1].
3. Используйте фильтры запросов. Используйте фильтры запросов, которые могут выделить менее 10 % данных, чтобы повысить производительность запросов[1].
4. Избегайте подстановочных знаков. Избегайте использования подстановочных знаков в запросах, таких как `%`, поскольку это предотвращает использование индексов[1].
5. Разбивайте сложные запросы: разбивайте сложные запросы на простые отдельные запросы для эффективного использования индексов[1].
6. Выберите обязательные поля. Выберите только обязательные поля в инструкции SELECT, чтобы уменьшить объем извлекаемых данных и повысить производительность запросов[1].
Следуя этим рекомендациям и понимая различия в производительности запросов SOQL в изолированной и производственной средах, вы сможете оптимизировать свои запросы для повышения производительности и эффективности в Salesforce.
Цитаты:[1] https://www.apexhours.com/large-data-volumes-ldv-in-salesforce/
[2] https://salesforce.stackexchange.com/questions/42163/ Performance-difference-between-sandbox-and-production-instances
[3] https://coefficient.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