SOQL (Salesforce Object päringukeel) päringud võivad liivakasti keskkonnas võrreldes võrreldes kiiremini töötada, kuna Salesforce'i liivakastid on loodud ja hallatud mitmete tehniliste ja operatiivsete tegurite tõttu. Nende tegurite mõistmine nõuab andmete mahtude erinevuste, indekseerimise, vahemällu salvestamise, ressursside vaidluse ja süsteemi optimeerimise erinevusi liivakasti ja tootmiskeskkondade jaoks.
Andmete maht ja keerukus
Üks peamisi põhjuseid, miks SOQL -i päringud liivakasti keskkonnas kiiremini kulgevad, on andmemahu erinevus. Liivakastidel on tavaliselt väiksemad andmekogumid kui tootmiskeskkondadel, eriti kui need on osalised või arendajad liivakastid, mis kopeerivad ainult tootmisandmete alamhulka. See vähendatud andmete maht tähendab, et vähem kirjeid tuleb päringute abil skannida, indekseerida ja tagastada, kiirendades päringu täitmise aegu loomulikult. Isegi täis liivakastides, mis peegeldavad tootmise andmeid, võivad sagedased värskendused või hetktõmmised tähendada, et andmed ei ole nii mahukad ega sageli juurde pääsenud kui reaalajas tootmisorg, mille tulemuseks on parem jõudlus, mis on tingitud madalama süsteemi üldisest koormusest.
indekseerimine ja selektiivsus
Salesforce'i päringu optimeerija tugineb päringu täitmise kiirendamiseks suuresti indeksitele. Indekseeritud väljadel filtreerivad päringud on sageli palju kiiremad, kuna Salesforce võib kogu tabeli skannimise asemel kiiresti tulemuse komplekti kitsendada. Liivakasti keskkondades võib päringu optimeerija käituda tõhusamalt, kuna andmete jaotus võib olla erinev, võimaldades indekseid olla valikulisemad. Näiteks kui liivakastis on teatud indekseeritud väljades vähem duplikaadi või nullväärtusi, saab päringu optimeerija kasutada indekseid tõhusamalt päringute kiiremini täitmiseks. Lisaks võimaldavad liivakasti keskkonnad sageli rohkem paindlikkust kohandatud indeksite või päringute häälestamise katsetamisel ilma tootmist mõjutamata, mis võib optimeerida SOQL -i jõudlust arendamise ja testimise ajal.
Vähendatud vaidlus ja ressursside eraldamine
Tootmiskeskkonnad on mitme ütlusega ja seda kasutatakse tugevalt, kui lõppkasutajad samaaegselt erinevaid toiminguid teostavad, luues ressursside väited. See väide võib päringu täitmist aeglustada, kuna protsessor, mälu ja I/O jagatakse paljude samaaegsete protsesside vahel. Seevastu liivakastid, eriti arendaja ja arendaja PRO liivakastid, on tavaliselt vähem samaaegseid kasutajaid ja madalam süsteemi koormus. See samaaegse töötlemisnõudluse vähendamine tähendab, et päringud pääsevad ressurssidele kergemini, vähendades ooteaega ja kiirendades täitmist.
vahemällu salvestamine ja päringuplaani stabiilsus
Salesforce kasutab jõudluse parandamiseks keerukaid päringute vahemälumehhanisme. Liivakasti keskkonnas võivad vahemällu salvestada teatud päringutulemused ja täitmiskavad, eriti kui korduvad testid või arendus iteratsioonid teostavad samu päringuid. See vahemällu salvestamise efekt võib kiirendada päringu jõudlust järgmistel käikudel. Veelgi enam, kuna liivakasti andmed muutuvad tootmisest harvemini, püsivad vahemällu salvestatud päringuplaanid ja tulemused pikemaks, suurendades päringu tõhusust. Tootmiskeskkonnad, millel on nende dünaamilised ja pidevad andmete muutused ja suure tehingutegevuse, ei saa vahemällu salvestamist sama tõhusalt ära kasutada, põhjustades päringuplaanide sagedamini ja seega aeglasema päringu jõudluse.
kuberneri piirid ja täitmise kontekst
Salesforce seab kuberneri piirid, sealhulgas maksimaalne SOQL -i päringute arv tehingu kohta, et säilitada platvormi stabiilsus. Arendusliivakastides konfigureerivad arendajad sageli täitmise kontekste hoolikamalt, et vältida nende piiride löömist, näiteks päringuid ja töötledes andmeid partiides. See mõistlik arendamine ja testimine aitavad päringuid enne tootmise juurutamist optimeerida. Tootmises võivad keerulised äriprotsessid ja integratsioonid tahtmatult põhjustada liigset või ebaefektiivset päringut, mis põhjustab korduvate andmebaasi tabamuste ja kuberneripiiride löömise tõttu aeglasema jõudlust. Liivakastid pakuvad turvalisemat ruumi nende päringute silumiseks ja optimeerimiseks, andes parema suhtelise jõudluse.
Erinevused reeglite ja turvaseadete jagamisel
Liivakasti keskkonnad võivad tootmisega võrreldes olla lihtsustatud või erinevad jagamisreeglid ja turvakonfiguratsioonid. Salesforce täidab jagamis- ja nähtavuseeskirju andmebaasi tasandil päringu täitmise ajal. Tootmise keerulised jagamise arvutused võivad lisada päringutele üldkulusid, eriti need, mis on seotud objekti ja rekordilise turvalisusega. Arendamiseks või testimiseks kasutatavad liivakastid tõstavad või lihtsustavad neid reegleid, vähendades täitmise keerukust ja kiirendades sellega SOQL -i päringu jõudlust.
Testimise ja optimeerimise fookus
Liivakasti keskkonnas keskendutakse üldiselt testimisele ja optimeerimisele. Arendajad ja administraatorid profiileerivad, analüüsivad ja parandavad SOQL -i päringuid aktiivselt, kasutades Salesforce'i tööriistu nagu päringuplaani tööriist, arendaja konsooli jõudluslogisid ja silumislogisid. Järelikult on liivakasti arendamise ajal õpitud parimad tavad, näiteks ainult vajalike väljade valimine, selektiivsete filtrite rakendamine, nende sees olevate päringute vältimine, suhete ja agregaatide läbimõeldult kasutamine ning asünkroonne töötlemine (nagu pakkide tipp), mille tulemuseks on kiiremad küsimused. Tootmiskeskkonnad võivad endiselt sisaldada pärandit või optimeerimata päringuid, mis halvendavad jõudlust.
Muud soodustavad tegurid
- Data viltu: Tootmisandmetel on sageli viltu jaotus, kus andmestikus domineerib väike kirjete alamhulk. See viltu suudab päringu jõudlust halvendada, lüües indekseerimisstrateegiad. Liivakastidel võib olla vähem viltu, võimaldades tõhusamaid päringuid.
- Prügikasti olek vaakum- ja ringlussevõtu olek: taaskasutatud prügikasti kustutatud kirjed võivad mõjutada jõudlust. Tootmisorgidel on tavaliselt täielikum ringlussevõtu prügikast kui liivakastidel, mis võib aeglustada SOQL -i päringuid, mis pääsevad juurde seotud objektidele või ajaloole.
- Replikatsiooni viivitus ja päringu statistika: Salesforce'i päringu optimeerija tugineb perioodiliselt värskendatud eelnevalt. Liivakastidel, eriti värskelt värskendatud, võivad olla värske statistika, mis võimaldab optisaatoril valida paremaid päringuplaane.
- Platvormi täiustused: mõnikord juurutab Salesforce uusi jõudluse täiustusi ja funktsioone kõigepealt liivakastides varajaseks testimiseks. See võib vanemate tootmiskeskkondade suhtes ajutiselt parandada liivakasti jõudlust.
Kokkuvõtlikult töötavad SOQL -i päringud kiiremini liivakasti keskkondades peamiselt väiksemate ja vähem keerukate andmekogumite, parema indeksi selektiivsuse, vähendatud süsteemi väite, tõhusa vahemällu salvestamise, keskendunud päringute optimeerimise ning lihtsama turvalisuse ja jagamise konfiguratsioonide tõttu. Need kombineeritud tegurid loovad tingimused, kus Salesforce'i päringute optimeerija saab päringuid tõhusamalt täita ja kui ressursid on päringute töötlemiseks hõlpsamini kättesaadavad. See keskkond soodustab tootmisorgide kõrgelt koormatud ja keerulise olemuse osas paremat jõudlust. Liivakastid on seega nii arendus-/testimismänguväljak kui ka koht jõudluse häälestamise koht enne päringute ja rakenduste juurutamist tootmisnõuetele, kus jõudlusnõuded ja andmete keerukus on palju kõrgemad. Kõik need teadmised on tuginenud Salesforce'i jõudluse parimatest tavadest, arendajate kogemustest ja Salesforce'i arhitektuuriomadustest.