Kun verrataan `getAllValues ()` - "getValue ()", suorituskyvyn vaikutukset riippuvat suurelta osin näiden menetelmien tilanteesta ja erityisestä toteutuksesta käyttämässäsi järjestelmässä tai kehyksessä. On kuitenkin joitain yleisiä periaatteita, jotka voivat ohjata ymmärrystämme:
Yleiset suorituskyvyn näkökohdat
1. Puhelujen lukumäärä: Yleensä vähemmän puhelujen soittaminen tietojen noutamiseksi on tehokkaampaa kuin useiden puhelujen soittaminen. Jos `getAllValues ()` hakee kaikki tarvittavat tiedot yhdessä puhelussa, se voi olla tehokkaampi kuin soittaminen `getValue ()` useita kertoja jokaiselle arvolle.
2. Tiedonhaku: Jos `getAllValues ()" noutataan enemmän tietoja kuin tarvitaan, se voi olla hitaampaa lisääntyneen tiedonsiirron ja prosessoinnin vuoksi. Jos tarvitset kuitenkin kaikki arvot joka tapauksessa, on todennäköisesti tehokkaampaa hakea ne kaikki kerralla eikä yksilöllisesti.
3. Välimuisti ja optimointi: Jotkut järjestelmät voivat välimuistiin välimuistiin tai optimoida toistuvat puhelut arvoon `getValue ()`, mikä voisi lieventää suorituskykyeroja. Kuitenkin, jos `getAllValues ()` on optimoitu irtotavarana, se saattaa silti tarjota paremman suorituskyvyn.
Erityiset skenaariot
- Google Apps Script: Google Apps -komentosarjassa `getValues ()` (samanlainen kuin `getAllValues ()) suositellaan yleensä useilla` getValue () `-puheluilla, koska se vähentää Google Sheets API: n vuorovaikutusten määrää, mikä voi parantaa merkittävästi suorituskykyä [3].
- Heijastus ja ominaisuuksien käyttö: .NET -pohdinnassa menetelmät, kuten `getProperties ()` voivat olla hitaita itse heijastuksen yläpuolella. Välimuistitulokset voivat kuitenkin parantaa suorituskykyä dramaattisesti [1] [7].
- ServiceNow: ServiceNowissa `getValue ()` on yleensä nopeampi kuin `getDisplayValue ()`, koska se hakee raa'an arvon ilman lisäkäsittelyä [5].
Päätelmä
Valinta `getAllValues ()` ja `getValue ()) välillä" tulisi perustua sovelluksesi erityisiin vaatimuksiin ja järjestelmän suorituskykyominaisuuksiin. Jos tarvitset kaikki arvot ja voit hakea ne tehokkaasti `getAllValues ()`, se on todennäköisesti parempi valinta. Jos tarvitset kuitenkin vain arvoarvoja tai jos `getValue ()` on optimoitu käyttötapaasi varten, se voi olla parempi. Harkitse aina tekijöitä, kuten datan koko, verkon viive ja järjestelmäkohtaiset optimoinnit päätöksenteossa.
Viittaukset:.
.
.
.
.
.
.
[8] https://www.ag-grid.com/angular-data-grid/component-cell-korder/
[9] https://salesforce.stackexchange.com/questions/8829/getInstance-vs-getvalues