See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 17091|Vastuse: 3

[Allikas] Kasuta guidi kui peamist võtit ja int kui põhivõtme jõudluse võrdlust

[Kopeeri link]
Postitatud 09.10.2019 16:48:35 | | | |
Andmebaasi kujundamisel kasutame sageli peamise võtmena guidi või int-i ning meie teadmiste põhjal oleme alati tundnud, et int on peavõtmena tõhusam, kuid see on võimatu ilma hoolika testimiseta

Selgita põhjust. Juhtus nii, et täna sattusin andmebaasi optimeerimise käigus sellele probleemile, nii et tegin testi.

Testikeskkond:

Lauaarvuti Pentiun(R) 4 protsessor 3.06GHz
Win XP professionaal
1,5G DDR RAM
SQL Server 2005 Personal  


Testimise protsess:

Esiteks, loo testandmebaas, Test

Testitulemused on järgmised:



Nagu eespool mainitud, on int-i kasutamise efektiivsus põhivõtmena parem võrreldes guid-i kasutamisega põhivõtmena, eriti kui on ühenduspäring ja kirjete kustutamine.

Veelgi enam, tänases GUID-i põhivõtmega andmepäringus korduvalt päringu aeg, kuna mitmed alampäringu tulemused olid pesastunud. Seetõttu pooldan int kasutamist peamise võtmega ja ma ei nõustu guid-ga kui peavõtmega.
Ülaltoodud seisukohad esindavad isiklikke arvamusi ning igaüks on teretulnud oma arvamust avaldama ja selgitama juhise ja intellekti eeliseid ja puudusi kui peamise võtmeteguri.

Järeltestid:


Pärast vendade meeldetuletust on täna lisatud kahele alamtabelile mitte-klasterdatud indeks:

LOO MITTEKLASTERDATUD INDEKS Index_Detail_Guid Test_Guid_Detail(Guid) peal
LOO MITTEKLASTERDATUD INDEKS Index_Detail_id Test_Int_Detail(id)-l
Seejärel tegin sisemise ühenduse päringu ja leidsin, et nagu @Xu Shaoxia ütles, pole efektiivsus piisavalt ilmne, et näidata üle 50%, vaid põhimõtteliselt vaid umbes 23%, mis on endiselt aktsepteeritav.

Seetõttu on see soovitatav

1. Süsteemides, kus sageli on vaja andmete migreerimist, soovitatakse kasutada Guid-i. Ja mitteklasterdatud indeksite lisamine vastavatele võõrvõtmeväljadele, st liitumispäringute jaoks kasutatavatele väljadele, on jõudluse parandamiseks suur kasu. Tingimuse välja saab lisada ka vastavalt mitteklasterdatud indeksitele.

2. Kui kasutada Guid-tüüpi põhivõtmena, peaks andmetüüp olema unikaalne identifikator ning kindlasti tuleb meeles pidada tühistada esmase võtme "koondindeks"

3. Süsteemide puhul, mida pole vaja migreerida või väikestes süsteemides, on endiselt väga mugav kasutada int-d esmase võtmena ning efektiivsuses on siiski teatav paranemine.





Eelmine:A182 Wu Xiaobo "2019. aasta uus keskklassi valge raamat"
Järgmine:Fan Deng Lugemisklubi uusimate ressursside kogumik
 Üürileandja| Postitatud 08.02.2021 11:03:12 |
katse
 Üürileandja| Postitatud 08.02.2021 11:03:31 |

Postitatud 20.03.2025 16:13:51 |
Int primaarvõtme migratsioon ei ole suur probleem, kui int primaarvõti ajutiselt migratsiooni ajal tühistatakse ja pärast migratsiooni avatakse isekasvatus
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com