Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 3812|Odgovoriti: 2

[Vir] [Obrat] (MSSQL) SQL Server database int and guid za primerjavo primarnih ključev

[Kopiraj povezavo]
Objavljeno na 6. 06. 2023 22:17:40 | | |
Zahteve: Med nedavnim razgovorom so me vprašali, kakšna je razlika med SQL Server database int in guid kot glavnim ključem.Oba imata svoje prednosti in slabosti, prosim, upoštevajte jih glede na vaše dejanske poslovne situacije

Izvirno besedilo 1Prijava do hiperpovezave je vidna.

Prednosti uporabe INT kot primarnega ključa:

1. Zahteva majhen prostor za shranjevanje podatkov, le 4 bajte.

2. Zmogljivost uporabe INT za vstavljanje in posodabljanje je boljša kot pri GUID, zato uporaba int izboljša zmogljivost aplikacije.

3. Operacije indeksiranja in združitve, int ima najboljšo zmogljivost.

4. Enostavno si zapomniti.

5. Podpora za pridobitev najnovejše vrednosti preko funkcije, kot je: Scope_Indentity().

Slabosti uporabe INT kot primarnega ključa

1. Če je pogosto združevanje tabel, lahko pride do podvajanja primarnih ključev.

2. Obstajajo omejitve glede obsega uporabe podatkov INT. Če je podatkov velika, lahko preseže vrednost INT.

3. Težko je obdelovati porazdeljene shranjene podatkovne tabele.

Prednosti uporabe GUID kot primarnega ključa:

1. Je edinstven.

2. Možnosti za podvajanje je malo.

3. Primeren je za vstavljanje in posodabljanje velikih količin podatkov.

4. Združevanje podatkov med strežniki je zelo priročno.

Slabosti uporabe GUID kot primarnega ključa:

1. Prostor za shranjevanje je velik (16 bajtov), zato zavzame več diska.

2. Težko si jo je zapomniti. Uspešnost operacije spajanja je nižja kot pri int.

3. Ni vgrajene funkcije za pridobitev najnovejšega generiranega GUID primarnega ključa.

4. GUID kot primarni ključ bo dodan drugim indeksom v tabeli, kar bo zmanjšalo zmogljivost.

Povzetek:

Zgoraj navedeno navaja prednosti in slabosti podatkovnih tipov GUID in INT kot primarnih ključev. Mislim, da je za velike količine podatkov priporočljivo uporabljati guid kot primarni ključ. KerUporaba int ti bo dala najboljšo zmogljivost


Komentar: UporabaDelovanje urejenega GUID-a se močno izboljša

Izvirno besedilo dvaPrijava do hiperpovezave je vidna.

Identiteta je cel tip, decimalno brez decimalne definicije, bigint je sprejemljiv

Vodilo je fiksno binarno(16), ki obsega 16 bajtov

Identiteta se poveča (ali odšteje), GUID pa je naključen, tako da se podatki vstavljajo,Prvi ne bo ustvaril nobenih fragmentov, medtem ko bo drugi, in ker je drugi v napačnem vrstnem redu, je treba vrstni red prilagoditi ob vstavljanju, zato je prvi na splošno boljši od drugega glede zmogljivosti.

Velika količina informacij je običajno razdeljena v tabele, zato je identiteta v mnogih primerih še vedno bolj primerna

Kar zadeva pomen primarnega ključa, je to odvisno od tega, kako ga razumete pri oblikovanju; za samo obdelavo podatkov primarni ključ ni nujno smiseln, in če zahtevate, da primarni ključ vsebuje poslovni pomen, potem je primarni ključ identitete seveda brez pomena, vendar je na splošno bolje ločiti poslovni pomen od obdelave podatkov, saj se poslovanje nenehno spreminja; če želite pomen prenesti na glavni ključ oblikovanja tabele, se poslovno spreminja, boste morali strukturo tabele še bolj prilagoditi.

Izvirno besedilo triPrijava do hiperpovezave je vidna.

1. V sistemih, ki pogosto potrebujejo migracijo podatkov, je priporočljivo uporabiti Guid. Dodajanje negručenih indeksov ustreznim poljem tujih ključev, torej poljem, ki se uporabljajo za poizvedbe po združitvi, je zelo koristno za izboljšanje zmogljivosti. Polje pogoja kjer se lahko doda tudi po potrebi za negručene indekse.

2. Ko uporabljate tip Guid kot primarni ključ, naj bo podatkovni tip edinstven identifikator in si ga zapomnitePrekliči primarni ključ "Agregatni indeksi

3. Za sisteme, ki jih ni treba migrirati, ali za majhne sisteme je še vedno zelo priročno uporabljati int kot primarni ključ, poleg tega pa je še vedno opaziti določeno izboljšanje učinkovitosti.

(Konec)




Prejšnji:ASP.NET Jedro (20) Preprečevanje napadov z odprtimi preusmeritvami
Naslednji:.NET Core program večjezične datoteke za branje in pisanje virov (.resx)
 Najemodajalec| Objavljeno na 6. 06. 2023 22:42:46 |
SequentialGuidValueGenerator generira zaporedne Guid vrednosti, ki so optimizirane za uporabo s ključi ali indeksi Microsoft SQL Serverja, kar prinaša boljšo zmogljivost kot naključne vrednosti. To je privzeti generator, ki generira SQL Server Guid stolpce, ko so dodani.

Prijava do hiperpovezave je vidna.


Zaporedni GUID-ji v jedru Entity Framework morda niso zaporedni

Prijava do hiperpovezave je vidna.
 Najemodajalec| Objavljeno na 27. 01. 2024 11:07:29 |
[MSSQL] SQL SERVER je kot teste indeksa agregacije primarnih ključev uredil GUID-je in neurejene GUID-je
https://www.itsvse.com/thread-10607-1-1.html
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com