sql-server – 何时使用TINYINT over INT?
|
一般来说,我总是使用Ints.我知道理论上这不是最好的做法,因为你应该使用保证存储数据的最小数据类型. 例如,当你知道你将存储的唯一数据是1,0或null时(最好将其扩展到2或3之后的几率),最好使用tinyint. 但是,我知道这样做的唯一原因是出于存储目的 – 在一行上使用1个字节而不是4个字节. 除了节省硬盘空间之外,使用tinyint(或smallint甚至bigint)对int的影响是什么? 解决方法Disk space is cheap… that’s not the point!不要考虑存储空间,而是考虑缓冲池和storage bandwidth.在极端情况下,CPU缓存和memory bus bandwidth.链接文章是系列的一部分,突出了集群密钥选择不佳的问题(INT与GUID与顺序GUID)但它突出了字节可以产生的差异. 最重要的信息是设计问题.在您达到VLDB区域之前,差异不会显示在适当规格的服务器上的单个数据库中,但如果您可以节省几个字节,为什么不这样做. 我想起了每个SQL实例中earlier question. 400数据库中描述的环境,大小从50mb到50GB不等.在该环境中按每个数据库为每个记录扫描几个字节可能会产生显着差异. (编辑:均轻资讯网_我爱站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- sql-server – 实体框架缓存查询计划性能随着不同
- SQL * Plus不执行SQL Developer所执行的SQL脚本
- sql-server – 在SQL Server 2005中使用数据生成
- sql语句如何去重复记录?教你两个办法
- sql-server – 为什么UNIQUE约束只允许一个NULL?
- sql-server – 找出导致最大网络流量的查询
- sql-server – SQL Server日志文件大小管理
- sql-server – 为什么这些字符在SQL Server中都是
- sql-server – 什么是评估合理缓冲池大小的确定性
- sql-server – 如何使用外部SQL数据库中的数据填

