Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Miksi SOQL -kyselyt voivat toimia nopeammin hiekkalaatikkoympäristössä


Miksi SOQL -kyselyt voivat toimia nopeammin hiekkalaatikkoympäristössä


SOQL (Salesforce Object -kyselykieli) -kyselyt voivat joskus toimia nopeammin hiekkalaatikkoympäristössä verrattuna tuotantoympäristöön useiden teknisten ja operatiivisten tekijöiden vuoksi, jotka ovat luontaisia ​​siihen, kuinka Salesforce -hiekkalaatikot perustetaan ja hallitaan. Näiden tekijöiden ymmärtäminen edellyttää datamäärien, indeksoinnin, välimuistien, resurssien kiistanalaisten ja hiekkalaatikon ja tuotantoympäristöjen mukaisten järjestelmien optimointien erojen erottamista.

Tietojen määrä ja monimutkaisuus

Yksi ensisijaisista syistä, miksi SOQL -kyselyt toimivat nopeammin hiekkalaatikkoympäristöissä, on datan määrän ero. Hiekkalaatikoissa on tyypillisesti pienempiä tietojoukkoja kuin tuotantoympäristöissä, varsinkin jos ne ovat osittaisia ​​tai kehittäjän hiekkalaatikkoja, jotka kopioivat vain osa tuotantotietojen osajoukon. Tämä vähentynyt datan määrä tarkoittaa, että vähemmän tietueita on skannattava, indeksoitava ja palautettava kyselyillä, jotka luonnollisesti nopeuttavat kyselyjen suorittamisaikoja. Jopa täydessä hiekkalaatikoissa, jotka heijastavat tuotantotietoja, usein päivitykset tai tilannekuvat saattavat tarkoittaa, että tiedot eivät ole yhtä laajoja tai niin usein käytettyjä kuin elävässä tuotantojärjestelmässä, mikä johtaa parempaan suorituskykyyn johtuen alhaisemmasta järjestelmän kokonaiskuormasta.

Indeksointi ja selektiivisyys

Salesforcen kyselyoptimoija riippuu voimakkaasti hakemistoista kyselyn suorittamisen nopeuttamiseksi. Kyselyt, jotka suodattavat indeksoitujen kenttien kanssa, ovat usein paljon nopeampia, koska Salesforce voi nopeasti kaventaa tulosjoukon sen sijaan, että skannataan koko taulukko. Hiekkalaatikkoympäristöissä kyselyoptimoija voi käyttäytyä tehokkaammin, koska tiedonjakauma voi olla erilainen, jolloin hakemistot voivat olla selektiivisempiä. Esimerkiksi, jos hiekkalaatikossa on vähemmän kaksoiskappaleita tai nolla -arvoja tietyissä indeksoiduissa kentissä kuin tuotanto, kyselyoptimoija voi käyttää indeksejä tehokkaammin kyselyjen suorittamiseen nopeammin. Lisäksi hiekkalaatikkoympäristöt sallivat usein enemmän joustavuutta kokeilemalla mukautettuja indeksejä tai kyselyjen virittämistä vaikuttamatta tuotantoon, mikä voi optimoida SOQL -suorituskyvyn kehityksen ja testauksen aikana.

Vähentynyt kiista ja resurssien eristäminen

Tuotantoympäristöt ovat monivuokrausta ja voimakkaasti hyödynnetään loppukäyttäjiä, jotka suorittavat erilaisia ​​operaatioita samanaikaisesti, luomalla resurssien kiistoja. Tämä väite voi hidastaa kyselyjen suorittamista, kun CPU, muisti ja I/O jaetaan lukuisten samanaikaisten prosessien kesken. Sitä vastoin hiekkalaatikoilla, erityisesti kehittäjä- ja kehittäjäpro -hiekkalaatikoilla, on yleensä vähemmän samanaikaisia ​​käyttäjiä ja pienempiä järjestelmän kokonaiskuormitusta. Tämä samanaikaisen käsittelykysynnän vähentäminen tarkoittaa, että kyselyt voivat käyttää resursseja helpommin, vähentäen odotusaikoja ja nopeuttamalla suoritusta.

välimuisti- ja kyselysuunnitelmavakaus

Salesforce työllistää hienostuneita kyselyvälimuistimekanismeja suorituskyvyn parantamiseksi. Hiekkalaatikkoympäristöissä tietyt kyselytulokset ja suoritussuunnitelmat voidaan välimuistiin, etenkin jos toistuvat testit tai kehitystoistot suorittavat samat kyselyt. Tämä välimuistivaikutus voi nopeuttaa kyselyn suorituskykyä seuraavissa ajoissa. Lisäksi, koska hiekkalaatikkotiedot muuttuvat harvemmin kuin tuotanto, välimuistissa olevat kyselysuunnitelmat ja tulokset ovat voimassa pidempään, mikä parantaa kyselyiden tehokkuutta. Tuotantoympäristöt, joilla on dynaamiset ja jatkuvat datamuutokset ja raskaat tapahtumat, eivät voi hyödyntää välimuistia yhtä tehokkaasti, mikä johtaa kyselysuunnitelmien ja siten hitaampaan kyselyn suorituskykyyn.

Kuvernöörin rajat ja toteutusyhteydet

Salesforce asettaa kuvernööri -rajat, mukaan lukien SOQL -kyselyjen enimmäismäärä transaktiota kohti alustan vakauden ylläpitämiseksi. Kehityshiekkalaatikoissa kehittäjät määrittävät ja hallitsevat usein suoritusympäristöjä tarkemmin näiden rajojen saavuttamiseksi, esimerkiksi bulkifioimalla kyselyt ja käsittelemällä tietoja erissä. Tämä tietoinen kehitys ja testaus auttavat pitämään kyselyt optimoituna ennen käyttöönottoa tuotantoon. Tuotannossa monimutkaiset liiketoimintaprosessit ja integraatiot voivat vahingossa aiheuttaa liiallista tai tehottomia kyselyjä, mikä johtaa hitaampaan suorituskykyyn toistuvien tietokanta -osumien takia ja hallitsee pääministerin rajoja. Hiekkalaatikot tarjoavat turvallisemman tilan virheenkorjauksen ja optimoimaan näitä kyselyjä, mikä tuottaa parempaa suhteellista suorituskykyä.

erot sääntöjen ja turvallisuusasetusten jakamisessa

Hiekkalaatikkoympäristöt voivat olla yksinkertaistettuja tai erilaisia ​​jakamissääntöjä ja tietoturvakokoonpanoja tuotantoon verrattuna. Salesforce valvoo jakamista ja näkyvyyssääntöjä tietokantatasolla kyselyn suorittamisen aikana. Tuotannon monimutkaiset jakamislaskelmat voivat lisätä yleiskustannuksia kyselyihin, etenkin objektin ja tason turvallisuuteen liittyvät. Kehitykseen tai testaamiseen käytetyt hiekkalaatikot nostavat tai yksinkertaistavat näitä sääntöjä, vähentävät suorituskyvyn monimutkaisuutta ja nopeuttavat siten SOQL -kyselyn suorituskykyä.

Testaus ja optimointi tarkennus

Hiekkalaatikkoympäristöissä on yleensä keskittynyt testaamiseen ja optimointiin. Kehittäjät ja järjestelmänvalvojat profiloivat, analysoivat ja parantavat aktiivisesti SOQL -kyselyjä käyttämällä Salesforce -työkaluja, kuten kyselysuunnitelmatyökalu, kehittäjäkonsolin suorituskykylokit ja virheenkorjauslokit. Tämän seurauksena hiekkalaatikon kehityksen aikana opittuja parhaita käytäntöjä, kuten vain tarvittavien kenttien valitseminen, selektiivisten suodattimien soveltaminen, niiden sisällä olevien kyselyjen välttäminen, suhteiden ja aggregaattien käyttäminen harkiten ja asynkroniset prosessoinnit (kuten erä kärki) Â toteutetaan, mikä johtaa nopeampiin kyselyihin. Tuotantoympäristöt voivat silti sisältää vanhoja tai optimoimattomia kyselyjä, jotka heikentävät suorituskykyä.

Muut tekijät

- Tietojen vino: Tuotantotiedot ovat usein vinossa jakaumat, joissa pieni tietueiden osajoukko hallitsee tietojoukkoa. Tämä vino voi heikentää kyselyn suorituskykyä voittamalla indeksointistrategiat. Hiekkalaatikoissa voi olla vähemmän vinoa, mikä mahdollistaa tehokkaammat kyselyt.

- Tyhjiö- ja kierrätystilan tila: Poistetut tietueet Kierrätysastiassa voivat vaikuttaa suorituskykyyn. Tuotantojärjestöissä on yleensä täydellisempi kierrätysastia kuin hiekkalaatikoissa, jotka voivat hidastaa SOQL -kyselyjä, jotka pääsevät siihen liittyviin esineisiin tai historiaan.

- replikointiviive ja kyselytilastot: Salesforcen kyselyoptimoija riippuu ennakkoluulollisista tilastoista, jotka päivitetään määräajoin. Hiekkalaatikoissa, etenkin äskettäin päivitetyissä, saattavat olla tuoreita tilastoja, joiden avulla optimoija voi valita parempia kyselysuunnitelmia.

- Alustan parannukset: Joskus Salesforce ottaa käyttöön uusia suorituskyvyn parannuksia ja ominaisuuksia ensin hiekkalaatikoissa varhaista testausta varten. Tämä voi väliaikaisesti parantaa hiekkalaatikon suorituskykyä suhteessa vanhempiin tuotantoympäristöihin.

Yhteenvetona voidaan todeta, että SOQL -kyselyt toimivat nopeammin hiekkalaatikkoympäristöissä pääasiassa pienempien ja vähemmän monimutkaisten tietojoukkojen, paremman indeksin selektiivisyyden, järjestelmän kiistanalaisten, tehokkaan välimuistien, keskittyneiden kyselyjen optimoinnin kehityksen aikana ja yksinkertaisemman tietoturvan ja kokoonpanojen jakamisen. Nämä yhdistetyt tekijät luovat ehtoja, joissa Salesforcen kyselyoptimoija voi suorittaa kyselyjä tehokkaammin ja missä resurssit ovat helpommin saatavissa kyselyiden käsittelyyn. Tämä ympäristö edistää parempaa suorituskykyä saavuttamatta tuotantojärjestöjen erittäin ladattuun ja monimutkaiseen luonteeseen. Hiekkalaatikot toimivat siten sekä kehitys-/testauskentänä ja suorituskyvyn virittämisen paikkana ennen kyselyjen ja sovellusten käyttöönottoa tuotantoon, joissa suorituskyvyn vaatimukset ja tietojen monimutkaisuus ovat paljon korkeammat. Kaikki nämä oivallukset ovat peräisin Salesforcen suorituskyvyn parhaista käytännöistä, kehittäjäkokemuksista ja Salesforcen arkkitehtuuriominaisuuksista.