Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 17091|Vastaus: 3

[Lähde] Käytä guidia ensisijaisena avaimena ja älykkyyttä ensisijaisena näppäimen suorituskyvyn vertailuna

[Kopioi linkki]
Julkaistu 9.10.2019 16.48.35 | | | |
Tietokannan suunnittelussa käytämme usein guidia tai int:tä pääavaimena, ja oppimamme tiedon mukaan olemme aina kokeneet, että int on tehokkaampi pääavaimena, mutta se on mahdotonta ilman huolellista testausta

Selitä syy. Tänään tietokannan optimoinnissa kohtasin tämän ongelman, joten tein testin.

Testiympäristö:

Pöytätietokone Pentiun(R) 4 CPU 3.06GHz
Win XP -ammattilainen
1,5G DDR-MUISTI
SQL Server 2005 Personal  


Testausprosessi:

Luo ensin testitietokanta, Test

Testitulokset ovat seuraavat:



Kuten edellä mainittiin, int:n käyttö ensisijaisena avaimena on parempi kuin guidin käyttäminen pääavaimena, erityisesti kun yhteyskysely ja tietueiden poistaminen tapahtuu.

Lisäksi GUID:n pääavaimella varustetussa datakyselyssä kyselyn aikakatkaisu tapahtui toistuvasti useiden alikyselytulosten sisäkkäisyyden vuoksi. Siksi kannatan älykkyyden käyttöä pääavaimena, enkä ole samaa mieltä guidin käytöstä pääavaimena.
Yllä olevat näkemykset edustavat henkilökohtaisia mielipiteitä, ja jokainen voi ilmaista mielipiteensä sekä selittää ohjauksen ja älykkyyden etuja ja haittoja pääavaimena.

Seurantatestit:


Veljesten muistutuksen jälkeen kahteen alitaulukkoon on lisätty ei-klusteroitu indeksi:

LUO EI-KLUSTEROITU INDEKSI Index_Detail_Guid Test_Guid_Detail(Guid)
LUO EI-KLUSTEROITU INDEKSI Index_Detail_id Test_Int_Detail(id):lle
Sitten tein sisäisen yhteyskyselyn ja huomasin, että kuten @Xu Shaoxia sanoi, tehokkuus ei ole tarpeeksi ilmeinen osoittamaan yli 50 %, ja käytännössä vain noin 23 % parannusta, mikä on edelleen hyväksyttävää.

Siksi sitä suositellaan

1. Järjestelmissä, joissa datan siirto usein vaatii, suositellaan käyttää Guid-ohjainta. Ja lisäämällä ei-klusteroituja indeksejä vastaaviin vierasavainkenttiin, eli liittymiskyselyihin käytettyihin kenttiin, on suuri hyöty suorituskyvyn parantamiseksi. Where-ehdon kenttä voidaan myös lisätä tarpeen mukaan ei-klusteroiduille indekseille.

2. Kun käytetään Guid-tyyppiä ensisijaisena avaimena, tietotyypin tulisi olla uniqueidentifier, ja muista peruuttaa ensisijaisen avaimen "aggregaatti-indeksi"

3. Järjestelmissä, joita ei tarvitse siirtää, tai pienille järjestelmille, on silti erittäin kätevää käyttää int:tä ensisijaisena avaimena, ja tehokkuudessa on edelleen tietty parannus.





Edellinen:A182 Wu Xiaobo "Vuoden 2019 uusi keskiluokan valkoinen kirja"
Seuraava:Kokoelma Fan Deng Lukukerhon uusimpia materiaaleja
 Vuokraisäntä| Julkaistu 8.2.2021 11.03.12 |
testi
 Vuokraisäntä| Julkaistu 8.2.2021 11.03.31 |

Julkaistu 20.3.2025 16.13.51 |
Int-ensisijaisen avaimen migraatio ei ole suuri ongelma, kunhan int-pääavain peruutetaan väliaikaisesti siirron aikana ja avataan itse-kasvu siirron jälkeen
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com