Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 3812|Vastaus: 2

[Lähde] [Turn] (MSSQL) SQL Server -tietokannan int ja guid ensisijaisen avaimen vertailuun

[Kopioi linkki]
Julkaistu 6.6.2023 22.17.40 | | |
Vaatimukset: Äskettäisessä haastattelussa minulta kysyttiin, mikä ero on SQL Server -tietokannan int ja guid -avaimen välillä.Molemmilla on hyvät ja huonot puolensa, punnitsethan ne omien liiketoimintatilanteetesi mukaan

Alkuperäinen teksti 1Hyperlinkin kirjautuminen on näkyvissä.

INT:n käytön etuja ensisijaisena avaimena:

1. Se vaatii pienen tallennustilan, vain 4 tavua.

2. INT:n käyttö lisäys- ja päivitysoperaatioissa on parempi kuin GUID:n, joten int:n käyttö parantaa sovelluksen suorituskykyä.

3. Indeksoimis- ja liitosoperaatiot, älykkyys on paras suorituskyky.

4. Helppo muistaa.

5. Tuki viimeisimmän arvon saamiseksi funktion kautta, kuten: Scope_Indentity().

INT:n käytön haitat pääavaimena

1. Jos taulukoita yhdistetään usein, pääavaimet voivat esiintyä päällekkäisyyksissä.

2. INT-datan käytön laajuudessa on rajoituksia. Jos dataa on suuri, se voi ylittää INT-arvoalueen.

3. On vaikeaa käsitellä hajautettuja tallennettuja tietotaulukoita.

GUID:n käytön etuja ensisijaisena avaimena:

1. Se on ainutlaatuinen.

2. Päällekkäisyyksiin on vähän mahdollisuuksia.

3. Se soveltuu suuren datamäärän lisäämiseen ja päivitystoimintoihin.

4. Palvelinten välinen datan yhdistäminen on erittäin kätevää.

GUID:n käytön haitat ensisijaisena avaimena:

1. Tallennustila on suuri (16 tavua), joten se vie enemmän levykokoa.

2. On vaikea muistaa. Liitosoperaation suorituskyky on heikompi kuin int:n.

3. Ei ole sisäänrakennettua toimintoa viimeisimmän luodun GUID-pääavaimen saamiseksi.

4. GUID ensisijaisena avaimena lisätään muihin taulukon indekseihin, mikä heikentää suorituskykyä.

Yhteenveto:

Yllä luetellaan GUID- ja INT-tietotyyppien edut ja haitat ensisijaisina avaimina. Luulen, että suurille datavolyymeille suositellaan käyttää Guid-koodia ensisijaisena avaimena. kun taasÄlykkyyden käyttö antaa parhaan suorituskyvyn


Kommentti: KäytäJärjestetty GUID-suorituskyky paranee huomattavasti

Alkuperäinen teksti kaksiHyperlinkin kirjautuminen on näkyvissä.

identiteetti on kokonaistyyppityyppi, desimaali ilman desimaalimääritelmää, bigint on hyväksyttävä

Guid on kiinteä binääri(16), joka on 16 tavua

Identiteetti kasvatetaan (tai vähennetään), ja Guid on satunnainen, joten kun dataa lisätään,Ensimmäinen ei tuota fragmentteja, kun taas jälkimmäinen tuottaa, ja koska jälkimmäinen on epäjärjestyksessä, järjestystä on säädettävä lisättäessä, joten edellinen on yleensä suorituskyvyltään parempi kuin jälkimmäinen.

Suuri määrä tietoa on yleensä jaettu taulukoihin, joten identiteetti on monissa tapauksissa silti sopivampi

Mitä tulee ensisijaisen avaimen merkitykseen, se riippuu siitä, miten sitä harkitset suunnittelussa. Itse tietojenkäsittelyssä ensisijaisen avaimen ei tarvitse olla merkityksellinen, ja jos ensisijaisen avaimen täytyy sisältää liiketoiminnan merkitystä, identiteetin ensisijainen avain on tietenkin merkityksetön, mutta yleisesti ottaen on parempi erottaa liiketoiminnan merkitys ja tietojenkäsittely, liiketoiminta muuttuu jatkuvasti. Jos haluat tuoda merkityksen pääavaimeen taulusuunnittelussa, liiketoiminta muuttuu, sinun täytyy säätää taulukon rakennetta enemmän.

Alkuperäinen teksti kolmeHyperlinkin kirjautuminen on näkyvissä.

1. Järjestelmissä, joissa datan siirto usein vaatii, suositellaan käyttää Guid-ohjainta. Ja lisäämällä ei-klusteroituja indeksejä vastaaviin vierasavainkenttiin, eli liittymiskyselyihin käytettyihin kenttiin, on suuri hyöty suorituskyvyn parantamiseksi. Where-ehdon kenttä voidaan myös lisätä tarpeen mukaan ei-klusteroiduille indekseille.

2. Kun käytetään Guid-tyyppiä ensisijaisena avaimena, tietotyypin tulisi olla uniqueidentifier ja muistaa sePeruuta pääavaimet "Yhteenvedetyt indeksit

3. Järjestelmissä, joita ei tarvitse siirtää, tai pienille järjestelmille, on silti erittäin kätevää käyttää int:tä ensisijaisena avaimena, ja tehokkuudessa on edelleen tietty parannus.

(Loppu)




Edellinen:ASP.NET Core (20) Estä avoimet uudelleenohjaushyökkäykset
Seuraava:.NET Core -ohjelman monikieliset luku- ja kirjoitusresurssitiedostot (.resx)
 Vuokraisäntä| Julkaistu 6.6.2023 22.42.46 |
SequentialGuidValueGenerator tuottaa peräkkäisiä Guid-arvoja, jotka on optimoitu käytettäväksi Microsoft SQL Server -klusteriavainten tai indeksien kanssa, mikä parantaa suorituskykyä kuin satunnaisarvot. Tämä on oletusgeneraattori, joka generoi SQL Server Guid -sarakkeita, kun ne lisätään.

Hyperlinkin kirjautuminen on näkyvissä.


Peräkkäiset GUID:t Entity Framework Coressa eivät välttämättä ole peräkkäisiä

Hyperlinkin kirjautuminen on näkyvissä.
 Vuokraisäntä| Julkaistu 27.1.2024 11.07.29 |
[MSSQL] SQL SERVER järjesti GUID:t ja järjestämättömät GUID:t ensisijaisiksi avainaggregaatioindeksin testeiksi
https://www.itsvse.com/thread-10607-1-1.html
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com