SQL Server上で実行される大規模なSQLデータベースがあります。大量のデータに対して算術演算を実行する必要があり、パフォーマンスを向上させることを検討しています。私は現在、FLOATデータ型を使用して金額を保管しています。数値データ型について読んで、別のデータ型が速度を向上させるかどうかを確認しています。算術演算で最も効率的なデータ型
可能であればDECIMAL()を使用することをお勧めするthis questionを読んでいます。小数点以下6桁が必要なので、DECIMAL(18,6)を実装しました。しかし、私はクエリ速度の小さな低下に気づいた。
浮動小数点数の代わりに使用できる高速データ型はありますか? DBの算術演算をどのように改善できますか?
私はSQL Serverを使用しています。 – lisovaccaro
浮動小数点は近似のデータ型であり、すべての値が正確に動作するわけではないので、浮動小数点精度はおそらく適切ではありません。小数点(18,6)はかなり大きな小数です。あなたは本当にそれが大規模に必要ですか?これにより12桁の有効数字が得られます。また、データ型は他のデータ型より速くも遅くもありません。それに関連する速度はありません。パフォーマンスの違いをもたらすのは、クエリ、テーブル構造、およびインデックス作成です。クエリ、テーブル構造、およびインデックスを共有できますか? –
'decimal(9,6)'を使うことができれば、記憶容量の大きさを9バイトから5バイトに落とします。 – SqlZim