webForumDet fria alternativet

Vilken datatyp för bästa prestanda?

Databaser & SQLur Databashanterare & SQL

4 svar · 440 visningar · startad av Kristianstad

KristianstadMedlem sedan dec. 2002841 inlägg
#1

Hejsan,

Jag skulle vilja ha lite råd om vilken datatyp+size jag bör ha för att göra min databas så effektiv som möjligt.

Här är tre olika kolumner. Är det någon duktig SQL-nisse som vill ge förslag, t.ex. INT(4). Är rätt grön på datatyper. Databashanteraren som jag använder är SQL Server

1. Ett ID med autoincredment som ökar med ett för varje ny rad. Max antal rader som jag vill ha som tak är runt 200 000.

2. Ett ID med autoincredment som ökar med ett för varje ny rad. Max antal rader som jag vill ha som tak är runt 10 000 000.

3. En kolumn där innehållet är en siffra (utan decimaler alltså) från 1-5. Genom AVG() ska jag däremot kunna skapa ett genomsnittstal med decimaler.

Tack på förhand!

@ndersMedlem sedan juni 200032 969 inlägg
#2

Tinyint is stored in 1 byte and is used to hold integer values from 0 through 255.

Smallint is stored in 2 bytes and is used to hold integer values from -32768 through 32,767.

Int is stored in 4 bytes and is used to hold integer values from -2147483648 through 2147483647.

Bigint is stored in 8 bytes and is used to hold integer values from -9223372036854775808 through 9223372036854775807.

Således:

  1. Int
  2. Int
  3. Tinyint

http://www.databasejournal.com/features/mssql/article.php/1442341

KristianstadMedlem sedan dec. 2002841 inlägg
#3

Tack @nders för ditt svar,

| test |
2
3
4
5
3
1
1

När jag kör select avg(test) from test med datatypen tinyint blir resultatet 2. När jag däremot kör samma SQL-fråga med datatypen float blir resultatet 2,7142857.... Varför blir det så? Jag vill inte lagra datan som decimaler men vill att det ska bli decimaler i resultatet efter sql-frågan.

@ndersMedlem sedan juni 200032 969 inlägg
#4
SELECT AVG(test+0.0) FROM test
KristianstadMedlem sedan dec. 2002841 inlägg
#5

Där ser man. Tack tack! Fortsatt trevlig dag snabela-anders!

382 ms totalt · 3 externa anrop · v20260731065814-full.c74b5be1
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
379 ms — hämta tråd, inlägg och bilagor (db)