適切なデータ型を選択する
SQL Server にはさまざまなデータ型が用意されており、選択するとパフォーマンスに大きな影響を与える可能性があります。 SQL Server では一部のデータ型 ("暗黙的な変換" と呼ばれます) を自動的に変換できますが、このプロセスはコストがかかり、クエリ プランに悪影響を及ぼす可能性があります。 代わりに、明示的な変換があります。ここで、コードで CAST または CONVERT 関数を使用して、データ型の変換を強制します。
また、必要以上に大きいデータ型を選択すると、領域が無駄になり、より多くのページを読み取る必要があります。 これにより、データベースに必要なストレージの合計が減少し、クエリのパフォーマンスが向上するため、データに適したデータ型を選択することが重要です。
注
場合によっては、変換をまったく行うことはできません。 たとえば、日付をビットに変換することはできません。 変換は、シークが可能なインデックス スキャンと、変換自体からの余分な CPU オーバーヘッドを引き起こすことによって、クエリのパフォーマンスに悪影響を与える可能性があります。
次の図は、SQL Server が暗黙的な変換を実行できるケースと、その場合にコード内のデータ型を明示的に変換する必要があることを示しています。
SQL Server には、テーブルとクエリで使用できるさまざまなシステム提供のデータ型が用意されています。 また、SQL Server では、T-SQL または .NET フレームワークを使用してユーザー定義データ型を作成できます。