13. 12. 2006
Microsoft SQL Server 2005 SP2 - datový typ VARDECIMAL
Brzo bude vydán Service Pack 2 pro SQL2005 a je tam jedna zajímavá novinka – datový typ VARDECIMAL. Spíše než o datový typ se jedná o vlastnost tabulky, kterou pokud zapnu, tak přestává platit následující:
Datový typ NUMERIC(precision[,scale]):
A datové typy NUMERIC (a jeho alias DECIMAL) se začnou ukládat spíše jako VARCHAR, tedy zaberou jen tolik bajtů, kolik je číslic + 1. To může mít dalekosáhlý vliv na velikost databáze (zvláště, pokud jsou časté hodnoty typu 0.0, 1.0 apod.)
Příklad:
číslo 0.0 jako datový typ NUMERIC(19,6) zabere 9 bajtů, s vlastností VARDECIMAL jen 2 bajty.
Zdroje:
Estimating the space savings with VARDECIMAL storage format: http://blogs.msdn.com/sqlserverstorageengine/archive/2006/11/13/estimating-the-space-savings-with-vardecimal-storage-format.aspx
nějaká měření, o kolik se databáze může zmenšit:
Reducing the Size of your Database in SQL Server 2005/SP2:
http://blogs.msdn.com/sqlserverstorageengine/archive/2006/11/10/reducing-the-size-of-your-database-in-sql-server-2005-sp2.aspx
Pozor, důležitá věc: bohužel tato příjemná vlastnost se týká jen Enterprise a Developer edicí Microsoft SQL Serveru 2005! Jinými slovy: ve Standard, natož Express edition není.
Datový typ NUMERIC(precision[,scale]):
precision | storage bytes |
1 – 9 | 5 |
10-19 | 9 |
20-28 | 13 |
29-38 | 17 |
A datové typy NUMERIC (a jeho alias DECIMAL) se začnou ukládat spíše jako VARCHAR, tedy zaberou jen tolik bajtů, kolik je číslic + 1. To může mít dalekosáhlý vliv na velikost databáze (zvláště, pokud jsou časté hodnoty typu 0.0, 1.0 apod.)
Příklad:
číslo 0.0 jako datový typ NUMERIC(19,6) zabere 9 bajtů, s vlastností VARDECIMAL jen 2 bajty.
Zdroje:
Estimating the space savings with VARDECIMAL storage format: http://blogs.msdn.com/sqlserverstorageengine/archive/2006/11/13/estimating-the-space-savings-with-vardecimal-storage-format.aspx
nějaká měření, o kolik se databáze může zmenšit:
Reducing the Size of your Database in SQL Server 2005/SP2:
http://blogs.msdn.com/sqlserverstorageengine/archive/2006/11/10/reducing-the-size-of-your-database-in-sql-server-2005-sp2.aspx
Pozor, důležitá věc: bohužel tato příjemná vlastnost se týká jen Enterprise a Developer edicí Microsoft SQL Serveru 2005! Jinými slovy: ve Standard, natož Express edition není.
Štítky: SQL Server