2

900x100要素の2D配列をデータベースに保存しようとしています。アレイの効率的なリコールと比較が重要です。[A、x、y、A(x、y)]のようなスキーマを持つテーブルを使用して、単一の配列が90,000レコードを危険にさらすようにすることができます。これは、配列を格納するための〜ok〜テーブル設計のように見え、単一要素の効率的なリコールを提供しますが、配列全体の非効率的なリコールを提供し、非常に非効率的な配列比較を行います。

テーブルのデザインをこのように残して、コードで配列を作成して比較する必要がありますか?または、データベースのみの操作を使用して効率的な配列比較を取得できるように、テーブルを構造化するためのより良い方法はありますか?

ありがとう

4

3 に答える 3

2

データの種類が許せば、データを連結形式で保存し、連結解除後にメモリで比較します。データベース操作ははるかに高速になり、メモリ内操作もデータベース検索よりも高速になります。

誰が知っているか、あなたは連結を解除せずにそれを比較することさえできるかもしれません。

于 2008-09-30T06:34:51.417 に答える
0

900 x 100の要素は実際には非常に小さいです(要素が90 MBしかない巨大な1Kのものであっても)。必要に応じてメモリ内で比較し、シリアル化された形式でディスクに保存することはできませんか?

特に不変のデータである場合、データベースに2D配列を格納することは意味がありません。

于 2008-09-30T06:26:55.133 に答える
0

私が地震産業で働いていたとき、配列 (通常は数千の要素の 1d) をバイナリ ファイルにダンプしていました。データベースは、本質的にメタデータ (場所、インデックス作成など) にのみ使用されます。これはかなり高速ですが、必要に応じてデータを分離することもできます。本番環境では、これは通常のことでした。数千の要素はあまり聞こえませんが、典型的なデータセットは簡単に数百 GB になる可能性があります。これは 1990 年代です。テープに分離する必要がありました。

于 2011-01-13T14:30:34.510 に答える