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

Pohľad: 17091|Odpoveď: 3

[Zdroj] Použite guid ako primárny kľúč a int ako porovnávanie výkonu primárneho kľúča

[Kopírovať odkaz]
Zverejnené 9. 10. 2019 16:48:35 | | | |
Pri návrhu databázy často používame guid alebo int ako hlavný kľúč a podľa získaných poznatkov sme vždy cítili, že int je efektívnejší ako hlavný kľúč, ale bez dôkladného testovania je to nemožné

Vysvetlite dôvod. Stalo sa, že počas optimalizácie databázy som dnes narazil na tento problém, tak som urobil test.

Testovacie prostredie:

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


Proces testovania:

Najprv vytvorte testovaciu databázu, otestujte

Výsledky testov sú nasledovné:



Ako už bolo spomenuté, efektivita použitia int ako primárneho kľúča je lepšia v porovnaní s použitím guid ako hlavného kľúča, najmä pri dotaze na spojenie a mazaní záznamov.

Navyše, v dnešnom dátovom dotaze s hlavným kľúčom v GUID sa časový limit dotazu opakovane vyskytoval kvôli vnoreniu viacerých pod-dotazových výsledkov. Preto som za používanie int ako hlavného kľúča a nesúhlasím s guid ako hlavným kľúčom.
Vyššie uvedené názory predstavujú osobné názory a každý je vítaný vyjadriť svoje názory a vysvetliť výhody a nevýhody guid a int ako hlavného kľúča.

Následné testy:


Po pripomenutí bratmi bol dnes do dvoch podtabuliek pridaný neklastrovaný index:

VYTVORIŤ NEKLASTROVANÝ INDEXOVÝ Index_Detail_Guid na Test_Guid_Detail(Guid)
VYTVORIŤ NEKLASTROVANÝ INDEX Index_Detail_id NA Test_Int_Detail(id)
Potom som vykonal interný dotaz na pripojenie a zistil som, že ako povedal @Xu Shaoxia, efektivita nie je dostatočne zrejmá na to, aby ukázala viac ako 50 %, a v podstate len asi 23 % zlepšenie, čo je stále prijateľné.

Preto sa odporúča

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 zrušiť "agregovaný index" primárneho kľúča

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.





Predchádzajúci:A182 Wu Xiaobo "Nová biela kniha strednej triedy 2019"
Budúci:Zbierka najnovších zdrojov Fan Deng Reading Clubu
 Prenajímateľ| Zverejnené 8. 2. 2021 11:03:12 |
test
 Prenajímateľ| Zverejnené 8. 2. 2021 11:03:31 |

Zverejnené 20. 3. 2025 16:13:51 |
Migrácia primárneho kľúča Int nie je veľký problém, pokiaľ je primárny kľúč Int dočasne zrušený počas migrácie a potom sa po migrácii otvorí samoinkrement
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