加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

sql-server – 何时行使TINYINT over INT?

发布时间:2021-01-10 13:22:44 所属栏目:编程 来源:网络整理
导读:一样平常来说,我老是行使Ints.我知原理论上这不是最好的做法,由于你应该行使担保存储数据的最小数据范例. 譬喻,当你知道你将存储的独一数据是1,0或null时(最好将其扩展到2或3之后的几率),最好行使tinyint. 可是,我知道这样做的独一缘故起因是出于存储目标 – 在一行上

一样平常来说,我老是行使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不等.在该情形中按每个数据库为每个记录扫描几个字节也许会发生显著差别.

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读