SOQL lekérdezési teljesítmény Sandbox környezetben
1. Adatkontiguitás: A Sandbox környezetek összefüggő adatokkal rendelkeznek, ami hatékonyabb lekérdezés-végrehajtást tesz lehetővé. Ennek az az oka, hogy az adatokat a termelési környezetből másolják, biztosítva a rekordok folyamatos tárolását, ami megkönnyíti az adatbázis számára a rekordok hatékony lekérését[2].2. Gyorsítótár és indexelés: A Sandbox környezetek gyorsítótár- és indexmérete kisebb az éles környezetekhez képest. Ez azt jelenti, hogy az adatbázis gyorsan hozzáférhet a szükséges adatokhoz anélkül, hogy nagy gyorsítótárat vagy indexet kellene átvizsgálnia, ami gyorsabb lekérdezésvégrehajtást eredményez[2].
3. Hardverkonfiguráció: A Sandbox környezetek általában kisebb teljesítményű hardverrel vannak konfigurálva, mint az éles környezetek. Ez azonban hozzájárulhat a lekérdezések gyorsabb végrehajtásához is, mivel az adatbázis kevésbé terhelt, és gyorsabban tud válaszolni a lekérdezésekre[2].
4. Adattöredezettség: A termelési környezetek gyakran töredezett adatokkal rendelkeznek, ami lassabb lekérdezésvégrehajtáshoz vezethet. A sandbox-környezetek ezzel szemben összefüggő adatokkal rendelkeznek, ami csökkenti az összetett illesztések szükségességét, és javítja a lekérdezések teljesítményét[2].
5. Lekérdezésoptimalizálás: A Sandbox környezetek a lekérdezési teljesítményre vannak optimalizálva. Ez magában foglalja az indexek és a gyorsítótár használatát, amelyek célja a lekérdezés végrehajtási sebességének javítása[2].
A SOQL-lekérdezések optimalizálásának legjobb gyakorlatai
1. Indexelt mezők használata: Használjon indexelt mezőket a SOQL-lekérdezések WHERE záradékában a lekérdezés teljesítményének javítása érdekében[1].2. Kerülje a NULLS-t: Kerülje a NULLS használatát a lekérdezésekben, mivel ez megakadályozza az indexek használatát[1].
3. Használjon lekérdezési szűrőket: Használjon olyan lekérdezési szűrőket, amelyek az adatok kevesebb mint 10%-át tudják kiemelni a lekérdezés teljesítményének javítása érdekében[1].
4. Kerülje a helyettesítő karaktereket: Kerülje a helyettesítő karakterek használatát a lekérdezésekben, például a `%`, mivel ez megakadályozza az indexek használatát[1].
5. Az összetett lekérdezések bontása: Az összetett lekérdezéseket egyszerű szinguláris lekérdezésekre bontja az indexek hatékony használatához[1].
6. Select Required Fields: Csak a kötelező mezőket válassza ki a SELECT utasításban a lekért adatok mennyiségének csökkentése és a lekérdezés teljesítményének javítása érdekében[1].
Ha követi ezeket a bevált módszereket, és megérti a SOQL-lekérdezések teljesítményében mutatkozó különbségeket a sandbox és az éles környezetek között, optimalizálhatja lekérdezéseit a Salesforce jobb teljesítménye és hatékonysága érdekében.
Idézetek:[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