我想知道在启用页面压缩时将列定义为 tiny int 还是 int 是否重要?
最佳答案
传统上,在页面大小上节省的每一位都意味着一点点速度改进:更窄的行意味着每页更多的行,这意味着更少的内存消耗和更少的 IO 请求,从而提高速度。然而,随着 SQL Server 2008 页面压缩的出现,事情开始变得模糊起来。压缩算法可以将值小于 255 的 4 字节整数压缩到甚至少于一个字节。
行压缩算法会将一个 4 字节的 int 存储在单个字节上,用于小于 127 的值(int 是有符号的),2 字节用于小于 32768 的值,依此类推。
但是,鉴于出色的压缩功能仅在企业版服务器上可用,因此保持使用尽可能小的数据类型的习惯是有意义的。
关于sql - 在 SQL Server 2008 中打开页面压缩时,int 与 tinyint 有关系吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5777531/