问题 smallint与int的表现


如果我知道列的值应始终在smallint数据类型允许的范围内,从数据完整性维护的角度来看,似乎我应该将数据存储在smallint列而不是int列中。

但是我想知道是否可以通过使用更少的字节来支付任何性能命中?


1312
2017-10-27 22:09


起源



答案:


较小的类型=磁盘上的存储更少,这导致更高效的索引。但是,除非处理大量数据,否则这些性能增益将是最小的;此外,为了避免隐式转换(可能会抵消您看到的任何性能提升),您需要确保在引用该列时使用正确的类型(包括与参数的比较等)。

无论哪种方式都可以洗。


11
2017-10-27 22:16





正如Stuart所提到的,我预计性能和存储差异可以忽略不计。

同样值得考虑您想要使用给定类型建模的“域”。如果smallint更准确地为数据建模域,那么即使它没有给你带来显着的性能提升,也值得明确。


2
2017-10-27 22:25