Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 3812|Odpověď: 2

[Zdroj] [Otočit] (MSSQL) SQL Server databázový int a guid pro porovnání primárních klíčů

[Kopírovat odkaz]
Zveřejněno 06.06.2023 22:17:40 | | |
Požadavky: Během nedávného pohovoru se mě zeptali, jaký je rozdíl mezi SQL Server database int a guid jako hlavním klíčem.Obě mají své klady a zápory, prosím, zvažte je podle vašich skutečných obchodních situací

Původní text 1Přihlášení k hypertextovému odkazu je viditelné.

Výhody použití INT jako primárního klíče:

1. Vyžaduje malý úložný prostor, pouze 4 bajty.

2. Výkon použití INT pro vkládání a aktualizaci je lepší než u GUID, takže použití int zlepší výkon aplikace.

3. Indexování a spojení operací, int má nejlepší výkon.

4. Snadno si zapamatujete.

5. Podpora pro získání nejnovější hodnoty prostřednictvím funkce, například: Scope_Indentity().

Nevýhody použití INT jako primárního klíče

1. Pokud dochází k častému slučování tabulek, může dojít k duplikaci primárních klíčů.

2. Existují omezení v rozsahu využití dat INT. Pokud je dat velké, může překročit rozsah hodnoty INT.

3. Je obtížné zpracovávat distribuované uložené datové tabulky.

Výhody použití GUID jako primárního klíče:

1. Je jedinečný.

2. Příležitostí k duplikaci je jen málo.

3. Je vhodný pro vkládání a aktualizaci ve velkém množství dat.

4. Slučování dat mezi servery je velmi pohodlné.

Nevýhody použití GUID jako primárního klíče:

1. Úložný prostor je velký (16 bajtů), takže zabere větší velikost disku.

2. Je těžké si to zapamatovat. Výkon operace spojování je nižší než výkon int.

3. Neexistuje vestavěná funkce pro získání nejmladšího vygenerovaného primárního klíče GUID.

4. GUID jako primární klíč bude přidán k dalším indexům v tabulce, což sníží výkon.

Shrnutí:

Výše uvedené uvádí výhody a nevýhody datových typů GUID a INT jako primárních klíčů. Myslím, že pro velké objemy dat se doporučuje používat guid jako primární klíč. kdežtoPoužití int ti dá nejlepší výkon


Komentář: PoužitíVýkon uspořádaných GUID se výrazně zlepšuje

Původní text dvaPřihlášení k hypertextovému odkazu je viditelné.

Identita je celý typ typu, desítková bez desetinné definice, bigint je přijatelný

GUID je pevný binární(16), který má 16 bajtů

Identita se zvyšuje (nebo odečítá) a guid je náhodný, takže při vkládání datPrvní nevytváří žádné fragmenty, zatímco druhý ano, a protože druhý je mimo pořadí, je třeba pořadí upravit při vložení, takže první je obecně lepší z hlediska výkonu.

Velké množství informací je obvykle rozděleno do tabulek, takže identita je v mnoha případech stále vhodnější

Co se týče významu primárního klíče, záleží na tom, jak ho při návrhu vnímáte – pro samotné zpracování dat primární klíč nemusí být významný, a pokud vyžadujete, aby primární klíč obsahoval obchodní význam, pak je primární klíč identity samozřejmě bezvýznamný, ale obecně je lepší oddělit obchodní význam od zpracování dat, podnikání se neustále mění, pokud chcete význam přenést do hlavního klíče návrhu tabulky, pak se změní podnikání, budete muset strukturu tabulky více upravit.

Původní text třiPřihlášení k hypertextovému odkazu je viditelné.

1. V systémech, které často potřebují migraci dat, se doporučuje používat Guid. A přidání ne-clusterovaných indexů do odpovídajících polí cizího klíče, tedy polí používaných pro dotazy na spojování, je velkým přínosem pro zlepšení výkonu. Pole podmínky kde lze také přidat podle potřeby pro ne-shlukované indexy.

2. Při použití typu Guid jako primárního klíče by měl být datový typ uniqueidentifier a nezapomeňte si ho zapamatovatZrušte primární klíč "Agregované indexy

3. Pro systémy, které není třeba migrovat, nebo malé systémy, je stále velmi pohodlné používat int jako primární klíč a stále dochází k určitému zlepšení efektivity.

(Konec)




Předchozí:ASP.NET Jádro (20) Zabránit otevřeným přesměrovacím útokům
Další:.NET Core programové vícejazyčné soubory pro čtení a zápis (.resx)
 Pronajímatel| Zveřejněno 06.06.2023 22:42:46 |
SequentialGuidValueGenerator generuje sekvenční hodnoty Guid, které jsou optimalizovány pro použití s clusterovými klíči nebo indexy Microsoft SQL Serveru, což vede k lepšímu výkonu než náhodné hodnoty. Toto je výchozí generátor nastavený na generování sloupců SQL Server Guid při jejich přidání.

Přihlášení k hypertextovému odkazu je viditelné.


Sekvenční GUID v jádru Entity Framework nemusí být sekvenční

Přihlášení k hypertextovému odkazu je viditelné.
 Pronajímatel| Zveřejněno 27.01.2024 11:07:29 |
[MSSQL] SQL SERVER uspořádal GUIDy a neuspořádané GUID jako testy agregace primárních klíčů
https://www.itsvse.com/thread-10607-1-1.html
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com