Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 17091|Atbildi: 3

[Avots] Izmantojiet guid kā primāro atslēgu un int kā primārās atslēgas veiktspējas salīdzinājumu

[Kopēt saiti]
Publicēts 09.10.2019 16:48:35 | | | |
Datu bāzes izstrādē mēs bieži izmantojam guid vai int kā galveno atslēgu, un saskaņā ar apgūtajām zināšanām mēs vienmēr esam uzskatījuši, ka int ir efektīvāks kā galvenā atslēga, bet tas nav iespējams bez rūpīgas testēšanas

Paskaidrojiet iemeslu. Tā notika, ka datu bāzes optimizācijas laikā šodien es saskāros ar šo problēmu, tāpēc es veicu testu.

Testa vide:

Galddators Pentiun(R) 4 CPU 3.06GHz
Uzvarēt XP profesionāli
1,5 G DDR OPERATĪVĀ ATMIŅA
SQL Server 2005 individuālai lietošanai  


Testēšanas process:

Vispirms izveidojiet testa datu bāzi, pārbaudiet

Testa rezultāti ir šādi:



Kā minēts iepriekš, int kā primārās atslēgas izmantošanas efektivitāte ir uzlabota, salīdzinot ar guid kā galvenās atslēgas izmantošanu, it īpaši, ja ir savienojuma vaicājums un ierakstu dzēšana.

Turklāt datu vaicājumā ar galveno atslēgu GUID šodien vaicājuma taimauts atkārtoti notika vairāku apakšvaicājumu rezultātu ligzdošanas dēļ. Tāpēc es esmu par int izmantošanu kā galveno taustiņu, un es nepiekrītu guid kā galvenajam taustiņam.
Iepriekš minētie viedokļi atspoguļo personīgos viedokļus, un ikviens ir laipni aicināts izteikt savu viedokli un izskaidrot guid un int kā galvenās atslēgas priekšrocības un trūkumus.

Turpmākie testi:


Pēc brāļu atgādinājuma šodien divām apakštabulām ir pievienots nesagrupēts indekss:

NEGRUPĒTA INDEKSA Index_Detail_Guid IZVEIDE Test_Guid_Detail(GUID)
NEGRUPĒTA INDEKSA Index_Detail_id IZVEIDE Test_Int_Detail(id)
Tad es veicu iekšējā savienojuma vaicājumu un atklāju, ka, kā teica @Xu Shaoxia, efektivitāte patiešām nav pietiekami acīmredzama, lai norādītu vairāk nekā 50% un būtībā tikai aptuveni 23% uzlabojumu, kas joprojām ir pieņemams.

Tāpēc ieteicams

1. Sistēmās, kurās bieži ir jāveic datu migrācija, ieteicams izmantot Guid. Un nesagrupētu indeksu pievienošana atbilstošajiem ārējās atslēgas laukiem, tas ir, laukiem, kas tiek izmantoti savienojuma vaicājumiem, ir ļoti noderīga, lai uzlabotu veiktspēju. Nosacījuma where lauku var pievienot arī negrupētiem indeksiem.

2. Izmantojot Guid tipu kā primāro atslēgu, datu tipam jābūt uniqueidentifier, un noteikti atcerieties atcelt primārās atslēgas "apkopoto indeksu"

3. Sistēmām, kuras nav jāmigrē, vai mazām sistēmām joprojām ir ļoti ērti izmantot int kā primāro atslēgu, un joprojām ir zināms efektivitātes uzlabojums.





Iepriekšējo:A182 Wu Xiaobo "2019. gada jaunā vidusšķiras baltā grāmata"
Nākamo:Fan Deng lasīšanas kluba jaunāko resursu kolekcija
 Saimnieks| Publicēts 08.02.2021 11:03:12 |
tests
 Saimnieks| Publicēts 08.02.2021 11:03:31 |

Publicēts 20.03.2025 16:13:51 |
int primārās atslēgas migrācija nav liela problēma, ja vien int primārā atslēga tiek īslaicīgi atcelta migrācijas laikā un pēc tam atveriet pašpalielinājumu pēc migrācijas
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com