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

Näkymä: 15920|Vastaus: 1

[Lähde] Väärinymmärrys count(0) ja count(*) SQL-lauseissa

[Kopioi linkki]
Julkaistu 10.8.2017 13.29.00 | | |
Viime aikoina lukufunktiota on käytetty paljon, ja kun laskettava luku on suhteellisen suuri, on havaittu, että count(*) vie enemmän aikaa ja count(1) vähemmän.

Joissakin asiakirjoissa on seuraavat väitteet:

Jos datataulussasi ei ole ensisijaista avainta, count(1) on nopeampi kuin count(*).  
Jos on primääriavain, myös primääriavain (yhteisavain) on nopeampi kuin count(*).  
Jos taulukossasi on vain yksi kenttä, count(*) on nopein  
count(*) count(1) Vertaa kahta. Tärkeintä on laskea tietokentät, jotka vastaavat (1).  
Jos count(1) on polyindex, id, sen täytyy olla count(1) nopeampi. Mutta ero on hyvin pieni.  
Koska count(*), kenttä optimoidaan automaattisesti määrittelemään . Joten ei tarvitse laskea(?), käyttää count(*), SQL auttaa sinua optimoimaan

  Laskentatiedot:
count(*) palauttaa kaikkien taulukossa olevien rivien kokonaismäärän, mukaan lukien rivit, joiden arvo on nolla,Count (sarakkeen nimi) palauttaa kuitenkin kaikkien taulukon rivien kokonaismäärän lukuun ottamatta nollaa(Myös oletusarvot sisältävät sarakkeet lasketaan).
erillisen sarakkeen nimen jälkeen tulos on nollaarvon ja kaksoisdatan poistamisen jälkeen


Aiemmin en tiennyt, että blogissa sanottiin, että kaikille suositellaan count(0) ja että kyselyjen tehokkuus oli suhteellisen korkea jne

Nykyään on havaittu, että count(0):n käyttö on väärinkäsitys!!
count(0) Tilastojen ensimmäinen sarake ei ole tyhjä

Älä käytä numero(sarakkeen nimi) tai count(vakio) count(*) sijaan,

count(*) on syntaksi SQL92:n määrittelemälle standardimäärälle rivimäärälle, jolla ei ole mitään tekemistä tietokannan, NULLin ja non-NULLin kanssa.

Huomautus: count(*) laskee rivejä, joilla on NULL-arvo, kun taas count(sarakkeen nimi) ei laske rivejä, joilla on NULL-arvo.

Siksi tulevaisuudessa, kun teet kaikki tilastot etkä sulje pois tyhjää dataa, on parempi käyttää rehellisesti laskentaa (*)!!








Edellinen:Ero let- ja var-määritelmämuuttujien välillä js:ssä
Seuraava:jquery toteuttaa taulukon näyttääkseen enintään 10 tietoyksikköä
Julkaistu 10.8.2017 13.54.00 |
Opetus                 
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