データベースの行が(ディスク上で)どのくらいのスペースを占めているかを調べる方法はありますか?
SQL Server CEで見たいのですが、SQL Server 2008が機能しない(両方にほぼ同じデータを格納しています)。
私が尋ねる理由は、SQL Server CE dbにImage列(SQL 2008dbではvarbinary[max])があり、メモリを最大限に活用する前に、保存できる行数を知る必要があるためです。端末。
データベースの行が(ディスク上で)どのくらいのスペースを占めているかを調べる方法はありますか?
SQL Server CEで見たいのですが、SQL Server 2008が機能しない(両方にほぼ同じデータを格納しています)。
私が尋ねる理由は、SQL Server CE dbにImage列(SQL 2008dbではvarbinary[max])があり、メモリを最大限に活用する前に、保存できる行数を知る必要があるためです。端末。
varbinary(max) 列には、行ごとに最大 2 GB のデータが含まれる可能性があります。既存のデータに基づいて使用量を見積もるには、おそらく DATALENGTH 関数を使用して分析を行い、画像の典型的な 1 つが占有しているスペースを特定し、そこから推定することができます。
あなたが望んでいた100%ではないかもしれませんが、画像のサイズを知りたい場合は、
SELECT [RaportID]
,DATALENGTH([RaportPlik]) AS 'FileSize'
,[RaportOpis]
,[RaportDataOd]
,[RaportDataDo]
FROM [Database]
自分で行う必要があるその他の追加のカウント (予測など)。
大まかな推測しかできません - 「デバイスのメモリを使い切る前に何行保存できるか」という質問に対する正確な答えはありません。デバイスを排他的に使用していないためです - 他のプログラムもリソースを消費します。将来のある時点ではなく、現時点で使用可能なストレージの量のみを知ることができます。さらに、画像は圧縮されている可能性が高いため、さまざまな量の RAM を使用します。
推測のために、画像のサイズは行サイズの適切な近似値です。行構造のオーバーヘッドは無視できます。