Rätt datatyp ?

Oopps! Upgrade your browser pretty please. Oopps! Upgrade your browser pretty please.

Om man ser en databas som innehåller “felaktiga” datatyper, så kan man ställa sig denna fråga “Har detta någon påverkan ?”. Vad som menas med “felaktiga” datatyper kan man förstås diskutera, men normalt sett pratar vi om att datatyperna är onödigt “vida” och tar upp onödig plats. Normalt sett har man inte alltid möjlighet att testa detta,  men här kommer nu ett fall som visar vilken påverkan detta gör. Många av tabellerna som ligger till grund för denna jämförelse innehåller kolumner av datatypen float som om inte annat defineras innebär 15 decimaler och en storlek av 8 bytes. Eftersom jag vet att här förekommer inga decimaler  ändrar jag datatyperna till integer för samtliga kolumner som har float, vilket istället innebär 4 bytes per kolumn.

Detta gör denna skillnad i en fråga mot några av dessa tabeller :

 Den första delen är alltså där datatyperna ännu innehåller float, medan det andra visar samma datamängd, samma data men med datatypen integer. Detta ger en förbättring på 7 gånger, bättre CPU-tid och som ni ser också andra skillnader när det gäller kostnaderna. Det är alltså enormt viktigt att verkligen välja rätt datatyp och inte slentrianmässigt välja varchar(50) till alla kolumner, som är ännu värre än detta exempel.