如果我知道列的值應該始終處於smallint數據類型允許的範圍內,從數據完整性維護的角度來看,似乎我應該存儲數據在一個smallint列而不是int列中。smallint與int對性能的影響
但是我想知道是否有任何性能命中可能通過使用較少的字節支付?
如果我知道列的值應該始終處於smallint數據類型允許的範圍內,從數據完整性維護的角度來看,似乎我應該存儲數據在一個smallint列而不是int列中。smallint與int對性能的影響
但是我想知道是否有任何性能命中可能通過使用較少的字節支付?
更小的類型=磁盤上的存儲空間更少,從而導致更高效的索引。但是,除非處理大量的數據,否則這些性能增益將是最小的;此外,爲了避免隱式轉換(這可能抵消您看到的任何性能提升),您需要確保每次引用該列時使用正確的類型(包括與參數的比較等)。
大概是洗一個方法。
正如斯圖爾特提到的那樣,我預計性能和存儲的差異是微不足道的。
這也值得考慮你想用給定類型建模的「域」。如果smallint更準確地爲數據建模域,那麼它的價值就是明確的,即使它沒有提供明顯的性能改進。