sql >> Database teknologi >  >> RDS >> Sqlserver

Hvorfor skal jeg bruge int i stedet for en byte eller short i C#

Performance-mæssigt er en int hurtigere i næsten alle tilfælde. CPU'en er designet til at arbejde effektivt med 32-bit værdier.

Kortere værdier er komplicerede at håndtere. For at læse en enkelt byte, f.eks., skal CPU'en læse den 32-bit blok, der indeholder den, og derefter maskere de øverste 24 bits.

For at skrive en byte skal den læse destinationens 32-bit blok, overskrive de nederste 8 bits med den ønskede byteværdi og skrive hele 32-bit blokken tilbage igen.

Rummæssigt sparer du selvfølgelig et par bytes ved at bruge mindre datatyper. Så hvis du bygger en tabel med et par millioner rækker, så kan kortere datatyper være værd at overveje. (Og det samme kan være en god grund til, at du skal bruge mindre datatyper i din database)

Og korrekthedsmæssigt flyder en int ikke let over. Hvad hvis du tænker din værdi vil passe inden for en byte, og så på et tidspunkt i fremtiden betyder en eller anden harmløs udseende ændring af koden, at større værdier bliver gemt i den?

Det er nogle af grundene til, at int skal være din standarddatatype for alle integrerede data. Brug kun byte, hvis du rent faktisk vil gemme maskinbytes. Brug kun shorts, hvis du har at gøre med et filformat eller en protokol eller lignende, der faktisk angiver 16-bit heltalsværdier. Hvis du kun har at gøre med heltal generelt, så lav dem til ints.



  1. Sende et array til en forespørgsel ved hjælp af en WHERE-sætning

  2. hvordan man kontrollerer og indstiller max_allowed_packet mysql variabel

  3. Indsættelse af forberedt erklæring til database - PSQL

  4. Arbejde med Salesforce.com-data i SQL Server Reporting Services