Dotazy SOQL (Salesforce Object Query) môžu niekedy bežať rýchlejšie v prostredí s pieskoviskom v porovnaní s výrobným prostredím kvôli niekoľkým technickým a prevádzkovým faktorom, ktoré sú vlastníctvom toho, ako sú nastavené a spravované karantény Salesforce. Pochopenie týchto faktorov si vyžaduje ponorenie sa do rozdielov v objemoch údajov, indexovaní, ukladaní do vyrovnávacej pamäte, tvrdenia o zdrojoch a optimalizáciách systému špecifických pre pieskovisko verzus výrobné prostredie.
Objem a zložitosť údajov
Jedným z hlavných dôvodov dotazov SOQL sa v prostredí s pieskoviskom prevádzkuje rýchlejšie, je rozdiel v objeme údajov. Pánske boxy majú zvyčajne menšie súbory údajov ako výrobné prostredie, najmä ak ide o čiastočné alebo vývojárske pieskovnice, ktoré kopírujú iba podmnožinu výrobných údajov. Tento znížený objem údajov znamená, že je potrebné naskenovať, indexovať a vrátiť dotazy menej záznamov, prirodzene urýchlenie časov vykonávania dotazov. Dokonca aj v úplných pieskovisku, ktoré odrážajú výrobné údaje, časté obnovenie alebo snímky môžu znamenať, že údaje nie sú také objemné alebo často prístupné ako v živej výrobnej orgáne, čo vedie k lepšiemu výkonu v dôsledku nižšieho celkového zaťaženia systému.
indexovanie a selektivita
Optimalizátor dotazov spoločnosti Salesforce sa vo veľkej miere spolieha na indexy, aby urýchlil vykonanie dotazu. Dotazy, ktoré filtrujú na indexovaných poliach, sú často oveľa rýchlejšie, pretože Salesforce môže rýchlo zúžiť množinu výsledkov, a nie skenovať celú tabuľku. V prostrediach pieskoviska sa optimalizátor dotazov môže správať efektívnejšie, pretože distribúcia údajov sa môže líšiť, čo umožňuje selektívnejšie indexy. Napríklad, ak má pieskovisko v určitých indexovaných poliach menej duplikátov alebo nulových hodnôt ako výroba, optimalizátor dotazu môže efektívnejšie využívať indexy na rýchlejšie vykonávanie dotazov. Okrem toho prostredia pieskoviska často umožňujú väčšiu flexibilitu pri experimentovaní s vlastnými indexmi alebo ladením dotazov bez ovplyvnenia výroby, ktoré môžu optimalizovať výkon SOQL počas vývoja a testovania.
Znížené tvrdenie a izolácia zdrojov
Výrobné prostredia sú viacerých nájomcov a ťažko využívané koncovými používateľmi vykonávajúcimi rôzne operácie súčasne, čím sa vytvárajú spory. Toto tvrdenie môže spomaliť vykonávanie dotazu, pretože CPU, pamäť a I/O sú zdieľané medzi mnohými súbežnými procesmi. Naopak, pieskoviská, najmä vývojári a vývojári PRO pieskovnice, majú tendenciu mať menej súčasných používateľov a nižšie celkové systémové zaťaženie. Toto zníženie súbežného dopytu po spracovaní znamená, že dotazy majú prístup k zdrojom ľahšie, skrátenie čakacích časov a zrýchlenie vykonávania.
caching and Query Plán stability
Spoločnosť Salesforce využíva sofistikované mechanizmy vyrovnávacej pamäte dotazov na zlepšenie výkonu. V prostrediach pieskoviska môžu byť určité výsledky dotazov a plány vykonávania ukladané do vyrovnávacej pamäte, najmä ak opakované testy alebo iterácie vývoja vykonávajú rovnaké dotazy. Tento efekt ukladania do vyrovnávacej pamäte môže urýchliť výkon dotazu na nasledujúcich pokusoch. Okrem toho, pretože údaje z karantény sa menia menej často ako výroba, plány a výsledky dotazov v vyrovnávacej pamäti zostávajú platné dlhšie, čím sa zvyšuje účinnosť dopytu. Výrobné prostredie s ich dynamickými a nepretržitými zmenami údajov a ťažkou transakčnou aktivitou nemôžu efektívne využívať ukladanie do vyrovnávacej pamäte, čo vedie k častejšiemu rekompilácii plánov dopytov, a teda k pomalšiemu výkonu dotazu.
Limity a kontext guvernéra
Salesforce ukladá limity guvernéra vrátane maximálneho počtu otázok SOQL na transakciu na udržanie stability platformy. Vo vývojových karanténoch vývojári často konfigurujú a riadia kontexty vykonávania, aby sa predišlo zasiahnutiu týchto limitov, napríklad hromadením dopytov a spracovaním údajov v dávkach. Tento vedomý vývoj a testovanie pomáhajú udržiavať otázky optimalizované pred nasadením do výroby. Vo výrobe môžu zložité obchodné procesy a integrácie neúmyselne spôsobiť neprimerané alebo neefektívne dopyt, čo vedie k pomalšiemu výkonu v dôsledku opakovaných zásahov databázy a limitov guvernéra. Pieskovce poskytujú bezpečnejší priestor na ladenie a optimalizáciu týchto otázok, čo vedie k lepšiemu relatívnemu výkonu.
rozdiely v zdieľaní pravidiel a nastavení zabezpečenia
V porovnaní s výrobou môžu mať prostredie pieskoviska zjednodušené alebo rôzne pravidlá zdieľania a konfigurácie zabezpečenia. Salesforce presadzuje pravidlá zdieľania a viditeľnosti na úrovni databázy počas vykonávania dotazov. Komplexné výpočty zdieľania vo výrobe môžu pridať režijné náklady k dotazom, najmä tie, ktoré sa týkajú bezpečnosti objektov a na úrovni záznamu. Častínky používané na vývoj alebo testovanie niekedy zdvíhajú alebo zjednodušujú tieto pravidlá, znižujú zložitosť vykonávania a tak zrýchľujú výkon dotazu SOQL.
Testovanie a optimalizačné zameranie
V prostrediach pieskoviska sa vo všeobecnosti zameriava na testovanie a optimalizáciu. Vývojári a administrátori aktívne profilujú, analyzujú a vylepšujú dopyty SOQL pomocou nástrojov Salesforce, ako je nástroj Plán dotazov, protokoly výkonnosti Console a debugov. V dôsledku toho sa implementujú osvedčené postupy získané počas vývoja pieskoviska, ako napríklad výber iba potrebných polí, použitie selektívnych filtrov, vyhýbanie sa slučkám s dopytmi v nich, používanie vzťahov a agregátov premyslene a asynchrónne spracovanie (napríklad dávkový vrchol) Výrobné prostredia môžu stále obsahovať staršie alebo neoptimalizované otázky, ktoré degradujú výkon.
ďalšie prispievajúce faktory
- Dáta skreslenie: Produkčné údaje často majú skreslené distribúcie, kde v súbore údajov dominuje malá podmnožina záznamov. Tento skreslenie môže znížiť výkon dotazu porážkou stratégií indexovania. Častínky môžu mať menšie skreslenie, čo umožňuje efektívnejšie otázky.
- Vákuum a recyklovaný stav bin: Odstránené záznamy v koši recyklácie môžu mať vplyv na výkon. Výrobné orgány majú bežne plnšie recyklované korenie ako pieskovisko, ktoré môžu spomaliť dotazy SOQL, ktoré majú prístup k súvisiacim objektom alebo histórii.
- Štatistika oneskorenia a dotazu: Optimalizátor dopytu spoločnosti Salesforce sa spolieha na predvízané štatistiky, ktoré sa pravidelne obnovujú. Pánske boxy, najmä novo osviežené, môžu mať čerstvé štatistiky, ktoré umožňujú optimalizátorom zvoliť si lepšie plány dotazov.
- Vylepšenia platformy: Niekedy Salesforce využíva nové vylepšenia výkonnosti a funkcie najskôr v pieskovisku na včasné testovanie. To by mohlo dočasne zlepšiť výkon karantény v porovnaní so staršími výrobnými prostrediami.
Stručne povedané, dotazy SOQL bežia rýchlejšie v prostrediach pieskoviska predovšetkým v dôsledku menších a menej zložitých súborov údajov, lepšej selektivity indexov, zníženého sporu o systéme, efektívneho ukladania do vyrovnávacej pamäte, zameranou optimalizáciou dotazov počas vývoja a jednoduchším konfiguráciám zabezpečenia a zdieľania. Tieto kombinované faktory vytvárajú podmienky, v ktorých môže Optimalizátor dopytov spoločnosti Salesforce vykonávať dotazy efektívnejšie a kde sú zdroje ľahšie dostupné na spracovanie dotazov. Toto prostredie podporuje lepší výkon nedosiahnuteľný vo vysoko naloženej a zložitej povahe výrobných orgánov. Panovinky teda slúžia ako vývojové/testovacie ihrisko a miesto na ladenie výkonu pred nasadením dopytov a aplikácií do výroby, kde sú požiadavky na výkon a zložitosť údajov oveľa vyššie. Všetky tieto poznatky sú čerpané z najlepších postupov výkonu Salesforce, vývojárskych skúseností a charakteristík architektúry Salesforce.