Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 3812|Odpoveď: 2

[Zdroj] [Otočiť] (MSSQL) SQL Server databázový int a guid na porovnanie primárnych kľúčov

[Kopírovať odkaz]
Zverejnené 6. 6. 2023 22:17:40 | | |
Požiadavky: Počas nedávneho pohovoru sa ma pýtali, aký je rozdiel medzi SQL Server database int a guid ako hlavným kľúčom.Obe majú svoje výhody a nevýhody, prosím, zvážte ich podľa vašich skutočných obchodných situácií

Pôvodný text 1Prihlásenie na hypertextový odkaz je viditeľné.

Výhody použitia INT ako primárneho kľúča:

1. Vyžaduje malý úložný priestor, iba 4 bajty.

2. Výkon použitia INT pri vkladaní a aktualizácii je lepší ako pri GUID, takže použitie int zlepší výkon aplikácie.

3. Indexové a spojovacie operácie, int má najlepší výkon.

4. Ľahko zapamätateľné.

5. Podpora na získanie najnovšej hodnoty cez funkciu, napríklad: Scope_Indentity().

Nevýhody použitia INT ako primárnej tóniny

1. Ak dochádza k častému zlučovaniu tabuliek, môže dôjsť k duplikácii primárnych kľúčov.

2. Existujú obmedzenia v rozsahu používania INT údajov. Ak je veľa dát, môže prekročiť rozsah hodnôt INT.

3. Je ťažké spracovať distribuované uložené dátové tabuľky.

Výhody použitia GUID ako primárneho kľúča:

1. Je jedinečný.

2. Je málo príležitostí na duplicitu.

3. Je vhodný na vkladanie a aktualizáciu vo veľkom množstve dát.

4. Zlučovanie dát medzi servermi je veľmi pohodlné.

Nevýhody použitia GUID ako primárneho kľúča:

1. Úložný priestor je veľký (16 bajtov), takže zaberie väčšiu veľkosť disku.

2. Je ťažké si to pamätať. Výkon spojovacej operácie je nižší ako výkon int.

3. Neexistuje zabudovaná funkcia na získanie najnovšieho vygenerovaného primárneho GUID kľúča.

4. GUID ako primárny kľúč bude pridaný k ostatným indexom v tabuľke, čo zníži výkon.

Súhrn:

Vyššie uvedené uvádza výhody a nevýhody dátových typov GUID a INT ako primárnych kľúčov. Myslím, že pri veľkých objemoch dát sa odporúča používať guid ako primárny kľúč. KeďžePoužitie int ti dá najlepší výkon


Komentár: PoužitieVýkon usporiadaných GUID sa výrazne zlepšuje

Pôvodný text dvaPrihlásenie na hypertextový odkaz je viditeľné.

Identita je celý typ typu, desatinná bez desatinnej definície, bigint je prijateľný

GUID je pevný binárny(16), ktorý má 16 bajtov

Identita sa zvyšuje (alebo odčítava) a GUID je náhodný, takže pri vkladaní dátPrvý nevytvorí žiadne fragmenty, zatiaľ čo druhý áno, a keďže druhý je v nesprávnom poradí, je potrebné poradie upraviť pri vložení, takže prvý je vo všeobecnosti lepší z hľadiska výkonu.

Veľké množstvo informácií je zvyčajne rozdelené do tabuliek, takže identita je v mnohých prípadoch ešte vhodnejšia

Čo sa týka významu primárneho kľúča, závisí to od toho, ako ho vnímate pri navrhovaní, pre samotné spracovanie dát primárny kľúč nemusí byť významný, a ak vyžadujete, aby primárny kľúč obsahoval obchodný význam, potom primárny kľúč identity samozrejme nemá význam, ale vo všeobecnosti je lepšie oddeliť obchodný význam od spracovania dát, biznis sa neustále mení, ak chcete priniesť význam hlavnému kľúču dizajnu tabuľky, potom sa biznis mení, budete musieť viac upraviť štruktúru tabuľky.

Pôvodný text triPrihlásenie na hypertextový odkaz je viditeľné.

1. V systémoch, ktoré často potrebujú migráciu dát, sa odporúča používať Guid. A pridávanie ne-klastrovaných indexov k zodpovedajúcim cudzím kľúčovým poliam, teda poliam používaným na dotazy na spojovanie, je veľkým prínosom na zlepšenie výkonu. Pole podmienky where možno tiež pridať podľa potreby pre neklastrované indexy.

2. Pri použití typu Guid ako primárneho kľúča by mal byť dátový typ uniqueidentifier a nezabudnite si ho pamätaťZrušte primárny kľúč "Agregované indexy

3. Pre systémy, ktoré nie je potrebné migrovať, alebo malé systémy, je stále veľmi pohodlné použiť int ako primárny kľúč a stále dochádza k určitému zlepšeniu efektivity.

(Koniec)




Predchádzajúci:ASP.NET Core (20) Zabrániť otvoreným presmerovacím útokom
Budúci:.NET Core programové viacjazyčné súbory na čítanie a zápis zdrojov (.resx)
 Prenajímateľ| Zverejnené 6. 6. 2023 22:42:46 |
SequentialGuidValueGenerator generuje sekvenčné hodnoty Guid, ktoré sú optimalizované na použitie s klostrovými kľúčmi alebo indexmi Microsoft SQL Server, čo vedie k lepšiemu výkonu ako náhodné hodnoty. Toto je predvolený generátor nastavený na generovanie SQL Server Guid stĺpcov pri ich pridaní.

Prihlásenie na hypertextový odkaz je viditeľné.


Sekvenčné GUID v Entity Framework Core nemusia byť sekvenčné

Prihlásenie na hypertextový odkaz je viditeľné.
 Prenajímateľ| Zverejnené 27. 1. 2024 11:07:29 |
[MSSQL] SQL SERVER usporiadal GUID a neusporiadané GUID ako testy agregácie primárnych kľúčov
https://www.itsvse.com/thread-10607-1-1.html
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com