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

Pogled: 17091|Odgovoriti: 3

[Vir] Uporabite guid kot primarni ključ in int kot primerjavo zmogljivosti primarnega ključa

[Kopiraj povezavo]
Objavljeno na 9. 10. 2019 16:48:35 | | | |
Pri oblikovanju baze podatkov pogosto uporabljamo guid ali int kot glavni ključ, in glede na pridobljeno znanje smo vedno menili, da je int bolj učinkovit kot glavni ključ, vendar je to nemogoče brez skrbnega testiranja

Pojasnite razlog. Danes sem med optimizacijo baze naletel na ta problem, zato sem opravil test.

Testno okolje:

Namizni računalnik Pentiun(R) s 4 procesorji 3,06 GHz
Win XP professional
1,5G DDR RAM
SQL Server 2005 Personal  


Postopek testiranja:

Najprej ustvarite testno bazo podatkov, testirajte

Rezultati testa so naslednji:



Kot je bilo omenjeno zgoraj, je učinkovitost uporabe int kot primarnega ključa boljša v primerjavi z uporabo guid kot glavnega ključa, še posebej, kadar pride do poizvedbe o povezavi in brisanju zapisov.

Poleg tega se je v današnji podatkovni poizvedbi z glavnim ključem v GUID časovna omejitev poizvedbe večkrat pojavila zaradi gnezdenja več podrezultatov poizvedbe. Zato zagovarjam uporabo int kot glavnega ključa in se ne strinjam z guid kot glavnim ključem.
Zgornja stališča predstavljajo osebna mnenja in vsak je vaben, da izrazi svoje mnenje ter pojasni prednosti in slabosti smernic in inteligence kot glavnega ključa.

Nadaljnji testi:


Po opomniku bratov je danes v dve podtabeli dodan ne-gručen indeks:

USTVARI NEGRUČEN INDEKSNI Index_Detail_Guid na Test_Guid_Detail(GID)
USTVARITE NEGRUČEN INDEKSNI Index_Detail_id NA Test_Int_Detail(id)
Nato sem izvedel interno poizvedbo o povezavi in ugotovil, da kot je rekel @Xu Shaoxia, učinkovitost res ni dovolj očitna, da bi pokazala več kot 50 %, in v bistvu le okoli 23 % izboljšave, kar je še vedno sprejemljivo.

Zato je priporočljivo

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. Pri uporabi tipa Guid kot primarnega ključa naj bo podatkovni tip edinstveni identifikator in ne pozabite preklicati "agregatnega indeksa" primarnega ključa

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.





Prejšnji:A182 Wu Xiaobo "Nova bela knjiga o srednjem razredu 2019"
Naslednji:Zbirka najnovejših virov bralnega kluba Fan Deng
 Najemodajalec| Objavljeno na 8. 02. 2021 11:03:12 |
preizkus
 Najemodajalec| Objavljeno na 8. 02. 2021 11:03:31 |

Objavljeno na 20. 03. 2025 16:13:51 |
Migracija INT primarnega ključa ni velik problem, dokler je int primarni ključ med migracijo začasno preklican in nato po migraciji odpre samo-inkrement
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