Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Miért futhatnak a SOQL lekérdezései gyorsabban egy homokozó környezetben?


Miért futhatnak a SOQL lekérdezései gyorsabban egy homokozó környezetben?


A SOQL (Salesforce Object Query Language) lekérdezések néha gyorsabban futhatnak a homokozó környezetben, összehasonlítva a termelési környezetgel, számos technikai és operatív tényező miatt, amelyek alapvető fontosságúak a Salesforce homokozójainak felállításához és kezeléséhez. Ezeknek a tényezőknek a megértése megköveteli az adatmennyiségek, az indexelés, a gyorsítótárazás, az erőforrások vitatásának és a homokdobozra jellemző rendszer optimalizálásának különbségeit.

Adat mennyisége és bonyolultsága

Az egyik elsődleges ok, amiért az SOQL lekérdezések gyorsabban futnak a homokozó környezetben, az adatmennyiség különbsége. A homokdobozok általában kisebb adatkészletekkel rendelkeznek, mint a termelési környezet, különösen akkor, ha részleges vagy fejlesztői homokdobozok, amelyek csak a termelési adatok egy részét másolják. Ez a csökkentett adatmennyiség azt jelenti, hogy kevesebb nyilvántartást kell beolvasni, indexelni és lekérdezésekkel visszaküldeni, természetesen felgyorsítva a lekérdezés végrehajtási idejét. Még a teljes homokdobozokban is, amelyek tükrözik a termelési adatokat, a gyakori frissítés vagy pillanatfelvétel azt jelentheti, hogy az adatok nem olyan nagymértékben hozzáférhetők, vagy olyan gyakran hozzáférhetők, mint az élő produkcióban, ami jobb teljesítményt eredményez az alacsonyabb rendszerterhelés miatt.

Indexelés és szelektivitás

A Salesforce lekérdezési optimalizálója nagymértékben támaszkodik az indexekre, hogy felgyorsítsa a lekérdezés végrehajtását. Az indexelt mezőkön szűrő lekérdezések gyakran sokkal gyorsabbak, mivel a Salesforce gyorsan szűkítheti az eredménykészletet, ahelyett, hogy a teljes táblázatot beolvassa. A homokozó környezetben a lekérdezés optimalizálója hatékonyabban viselkedhet, mivel az adateloszlás eltérő lehet, lehetővé téve az indexek szelektívebbé válását. Például, ha egy homokozónak kevesebb duplikált vagy nulla értéke van bizonyos indexelt mezőkben, mint a termelés, akkor a lekérdezés optimalizálója hatékonyabban használhatja az indexeket a lekérdezések gyorsabb végrehajtásához. Ezenkívül a homokozó környezetek gyakran lehetővé teszik a nagyobb rugalmasságot az egyéni indexek vagy a lekérdezés hangolásának kísérletezésében anélkül, hogy befolyásolnák a termelést, amely optimalizálhatja az SOQL teljesítményét a fejlesztés és a tesztelés során.

Csökkent vita és erőforrás -elszigetelés

A termelési környezetet több bérlő, és a végfelhasználók, akik egyidejűleg különféle műveleteket hajtanak végre, erőforrás-állítást hoznak létre. Ez az állítás lelassíthatja a lekérdezés végrehajtását CPU -ként, memóriaként és I/O -ban a számos egyidejű folyamat között. Ezzel szemben a homokdobozok, különösen a fejlesztő és a fejlesztő proisboxok, általában kevesebb egyidejű felhasználóval és alacsonyabb rendszerterheléssel rendelkeznek. Ez az egyidejű feldolgozási igény csökkentése azt jelenti, hogy a lekérdezések könnyebben hozzáférhetnek az erőforrásokhoz, csökkentve a várakozási időket és felgyorsítva a végrehajtást.

gyorsítótárazási és lekérdezési terv stabilitása

A Salesforce kifinomult lekérdezési gyorsítótárazási mechanizmusokat alkalmaz a teljesítmény javítása érdekében. A homokozó környezetben bizonyos lekérdezési eredmények és végrehajtási tervek gyorsítótárazhatnak, különösen, ha az ismételt tesztek vagy fejlesztési iterációk ugyanazokat a lekérdezéseket hajtják végre. Ez a gyorsítótárazási hatás felgyorsíthatja a lekérdezés teljesítményét a következő futások során. Sőt, mivel a homokozó adatok ritkábban változnak, mint a gyártás, a gyorsítótárazott lekérdezési tervek és eredmények hosszabb ideig érvényesek, javítva a lekérdezés hatékonyságát. A termelési környezetek, a dinamikus és folyamatos adatváltozásukkal és a nehéz tranzakciós tevékenységekkel, nem tudják felhasználni a gyorsítótárazást olyan hatékonyan, ami a lekérdezési tervek gyakoribb átalakításához és így lassabb lekérdezési teljesítményhez vezet.

Kormányzó korlátai és végrehajtási kontextusa

A Salesforce a kormányzó korlátait írja elő, beleértve a tranzakciónkénti SOQL -lekérdezések maximális számát a platform stabilitásának fenntartása érdekében. A fejlődő homokdobozokban a fejlesztők gyakran óvatosabban konfigurálják és vezérlik a végrehajtási kontextusokat, hogy elkerüljék ezeket a korlátokat, például a lekérdezések és az adatok tételekben történő feldolgozásával. Ez a figyelemfelkeltő fejlesztés és tesztelés elősegíti a lekérdezések optimalizálását a termelés előtti telepítés előtt. A termelés során a komplex üzleti folyamatok és integrációk véletlenül túlzott vagy nem hatékony lekérdezést okozhatnak, ami lassabb teljesítményhez vezet az ismételt adatbázis -találatok miatt, és a kormányzó korlátozása miatt. A homokozó dobozok biztonságosabb helyet biztosítanak ezeknek a lekérdezéseknek a hibakeresésére és optimalizálására, jobb relatív teljesítményt nyújtva.

különbségek a szabályok és a biztonsági beállítások megosztásában

Lehet, hogy a homokozó környezetek egyszerűsítették vagy eltérő megosztási szabályokat és biztonsági konfigurációkat lehetett a termeléshez képest. A Salesforce végrehajtja a megosztási és láthatósági szabályokat az adatbázis szintjén a lekérdezés végrehajtása során. A termelés komplex megosztási számításai hozzáadhatják a lekérdezéseket, különös tekintettel az objektumok és a rekordszintű biztonsággal. A fejlesztéshez vagy teszteléshez használt homokdobozok néha emelik vagy egyszerűsítik ezeket a szabályokat, csökkentve a végrehajtás bonyolultságát, és így felgyorsítják a SOQL lekérdezés teljesítményét.

tesztelés és optimalizálás fókusz

A homokozó környezetben általában a tesztelésre és az optimalizálásra összpontosít. A fejlesztők és az adminisztrátorok aktívan profiloznak, elemzik és fejlesztik az SOQL lekérdezéseket olyan Salesforce eszközökkel, mint a Query Plan Tool, a Developer Console teljesítménynaplói és a hibakeresési naplók. Következésképpen a homokozó fejlesztése során megtanult bevált gyakorlatok, például csak a szükséges mezők kiválasztása, a szelektív szűrők alkalmazása, a hurkok elkerülése a bennük lévő lekérdezésekkel, a kapcsolatok és az aggregátumok felhasználásával, és az aszinkron feldolgozás (mint például a kötegelt csúcs) megvalósulnak, ami gyorsabb lekérdezéseket eredményez. A termelési környezet továbbra is tartalmazhat örökséget vagy nem optimalizált lekérdezéseket, amelyek rontják a teljesítményt.

Egyéb hozzájárulási tényezők

- Data SKEW: A termelési adatok gyakran ferde eloszlásokkal rendelkeznek, ahol a rekordok kis részhalmaza uralja az adatkészletet. Ez a ferde ronthatja a lekérdezési teljesítményt az indexelési stratégiák legyőzésével. Lehet, hogy a homokdobozoknak kevesebb ferde lehet, lehetővé téve a hatékonyabb lekérdezéseket.

- Vákuum és újrahasznosítási tartályok állapota: Az újrahasznosítási tartályban a törölt rekordok befolyásolhatják a teljesítményt. A termelési szervezetek általában teljesebb újrahasznosító tartályt tartalmaznak, mint a homokozó, amely lassíthatja a SOQL lekérdezéseket, amelyek hozzáférnek a kapcsolódó objektumokhoz vagy történetekhez.

- A replikációs késés és a lekérdezés statisztikái: A Salesforce lekérdezési optimalizálója az előzetes kiszámított statisztikákra támaszkodik, amelyeket rendszeresen frissítenek. A homokdobozok, különösen az újonnan frissített, friss statisztikák lehetnek, amelyek lehetővé teszik az optimalizáló számára, hogy jobb lekérdezési terveket válasszon.

- Platformjavítások: A Salesforce néha új teljesítményjavításokat és jellemzőket telepít a homokozóban a korai teszteléshez. Ez ideiglenesen javíthatja a homokozó teljesítményét a régebbi termelési környezethez képest.

Összefoglalva: a SOQL lekérdezések gyorsabban futnak a homokozó környezetben, elsősorban a kisebb és kevésbé összetett adatkészletek, a jobb index szelektivitás, a csökkentett rendszer vita, a hatékony gyorsítótárazás, a fókuszált lekérdezés optimalizálása, valamint az egyszerűbb biztonság és megosztási konfigurációk miatt. Ezek a kombinált tényezők olyan feltételeket teremtenek, amelyekben a Salesforce lekérdezési optimalizálója hatékonyabban képes végrehajtani a lekérdezéseket, és ahol az erőforrások könnyebben rendelkezésre állnak a lekérdezések feldolgozásához. Ez a környezet elősegíti a jobb teljesítményt elérhetetlen a termelőszervezetek rendkívül terhelt és összetett természetében. A homokdobozok tehát fejlesztési/tesztelő játszótérként és a teljesítményhangoláshoz egyaránt szolgálnak, mielőtt a lekérdezéseket és az alkalmazásokat a termelésbe telepítik, ahol a teljesítményigények és az adatok bonyolultságai sokkal magasabbak. Mindezeket a betekintéseket a Salesforce előadásának bevált gyakorlataiból, a fejlesztői élményből és a Salesforce építészeti jellemzőiből vonják le.