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: 17091|Odpověď: 3

[Zdroj] Použijte guid jako primární klíč a int jako srovnání výkonu primárního klíče

[Kopírovat odkaz]
Zveřejněno 09.10.2019 16:48:35 | | | |
Při návrhu databáze často používáme guid nebo int jako hlavní klíč a podle získaných znalostí jsme vždy cítili, že int je efektivnější jako hlavní klíč, ale bez pečlivého testování je to nemožné

Vysvětlete důvod. Stalo se, že jsem dnes při optimalizaci databáze narazil na tento problém, takže jsem provedl test.

Testovací prostředí:

Stolní počítač Pentiun(R) 4 CPU 3,06GHz
Win XP professional
1,5G DDR RAM
SQL Server 2005 Personal  


Testovací proces:

Nejprve vytvořte testovací databázi, Testujte

Výsledky testu jsou následující:



Jak bylo zmíněno výše, efektivita použití int jako primárního klíče je lepší než použití guid jako hlavního klíče, zejména při dotazování na spojení a mazání záznamů.

Navíc v datovém dotazu s hlavním klíčem v GUID dnes došlo k časovému limitu dotazu opakovaně kvůli vnoření několika výsledků poddotazu. Proto jsem pro použití int jako hlavního klíče a nesouhlasím s guidem jako hlavním klíčem.
Výše uvedené názory představují osobní názory a každý je vítán, aby je vyjádřil a vysvětlil výhody a nevýhody guid a int jako hlavních klíčů.

Následné testy:


Po připomenutí bratry byl dnes do dvou podtabulek přidán ne-shlukovaný index:

VYTVOŘTE Index_Detail_Guid NECLUSTEROVANÉHO INDEXU na Test_Guid_Detail(Guid)
VYTVOŘTE NECLUSTEROVANÝ INDEX Index_Detail_id NA Test_Int_Detail(id)
Pak jsem provedl interní dotaz na připojení a zjistil jsem, že jak řekl @Xu Shaoxia, efektivita není natolik zřejmá, aby ukázala více než 50 %, a v podstatě jen asi 23 % zlepšení, což je stále přijatelné.

Proto se doporučuje

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 zrušit "agregovaný index" primárního klíče

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.





Předchozí:A182 Wu Xiaobo "Nová bílá kniha střední třídy 2019"
Další:Sbírka nejnovějších zdrojů Fan Deng Reading Clubu
 Pronajímatel| Zveřejněno 08.02.2021 11:03:12 |
test
 Pronajímatel| Zveřejněno 08.02.2021 11:03:31 |

Zveřejněno 20.03.2025 16:13:51 |
Migrace primárního klíče int není velký problém, pokud je primární klíč int během migrace dočasně zrušen a poté se po migraci otevře samoinkrement
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