列がデータベースで取り上げられているストレージの量を調べます
-
28-09-2019 - |
質問
データベースの行がどれだけのスペース(ディスク上)がかかるかを知る方法はありますか?
SQL Server CEでそれを見たいと思っていますが、SQL Server 2008の動作に失敗しました(両方にほぼ同じデータを保存しています)。
私が尋ねる理由は、私がSQL Server CE DBに画像列を持っていること(SQL 2008 dBのVarbinary [Max]である)であり、私は今、私が保存できる多くの行を知る必要があります。端末。
解決
たぶん、あなたが望んでいた100%ではないかもしれませんが、画像がどれだけのサイズが必要かを知りたいなら
SELECT [RaportID]
,DATALENGTH([RaportPlik]) AS 'FileSize'
,[RaportOpis]
,[RaportDataOd]
,[RaportDataDo]
FROM [Database]
他の追加のカウントは、自分で行う必要があります(予測などのように)。
他のヒント
Varbinary(Max)列には、各行ごとに最大2GBのデータ自体が含まれる可能性があります。既存のデータに基づいた推定使用のために、おそらくDatAlength関数を使用して分析を行い、典型的な画像が取り上げられているスペースを作成し、そこから外挿することができます。
あなたは大まかな推測しかできません - 質問に対する正確な答えはありません」デバイスのメモリを最大にする前に保存できる行数「あなたはあなたのデバイスを独占的に使用していないので - 他のプログラムもリソースを取ります、そして、あなたは現在、将来的にはどれだけのストレージが利用可能かを知ることができます。さらに、あなたの画像は圧縮される可能性が高いため、おそらくあなたの画像はさまざまな量のRAMを取得します。
推測するために、単にあなたの画像のサイズは行サイズの適切な近似です。行構造のオーバーヘッドはごくわずかです。
所属していません StackOverflow