2011-07-12 14 views
0

データベースにバックアップを作成したいが、CSVファイルに書き込む前にいくつかのデータ操作が必要です。
私のアイデアは、最初に配列またはリンクされたリストのデータを作成します(主に配列の挿入、順序が重要な特定の項目の挿入と計算)。次に配列項目をファイルに書き出します。
各項目には同じフィールドがあります。 データの量は実際には大きいです。
この場合、どのようなものが優先されますか?配列またはリンクされたリスト?配列またはリンクされたリスト

+0

なぜデータベース機能を使用してデータベースダンプを作成しないのですか? postgresの 'pg_dump'のように? – k102

+0

バックアップはユーザーにとってはデータベース構造について何も知らないためです。私はちょうど彼に彼の古いシステムに戻るオプションを与えたいので、データは多くの条件を含むフォーマットされる必要があります... – lvil

答えて

3

このデータベースバックアップで何をしようとしているのかの相対的なメリットを除いて、「リスト/アレイ内のエンティティの検索方法」と「自分のメモリフットプリントを気にしますか?

データの操作方法によっては、データエンティティの検索に何らかの形式のインデックスを使用すると便利です。そのため、配列や線形リンクリストを検索して検索する必要はありませんそれ。

おそらく、特定のデータエンティティをすばやく見つけるために、何らかの形のハッシングが必要になる場合があります。これをリンクリストで実装することもできますし、arrayname ['index']を使うこともできます(このデータをどのようにナビゲートして操作するかによって異なります)。

また、データ量が非常に多いとも言いました。そのため、パフォーマンスのインデックス作成の重要性が強調されるだけでなく、配列またはリンクリストを使用してロット全体をメモリにロードすることが最良の方法ではない可能性があります。

個人的には、私はこれを助けるためにデータベースそのものを使用したいと思います...一時テーブルに複製し、その操作、挿入、計算を行います。どのようなデータベースであれ、PHPデータベースAPIを使用して、これをすべて簡単に実行できるはずです。確かに

メモリにテーブルを読み取り、それを直接diddlingよりもずっと簡単に、私は数える:)

あなたはその後、ユーザーに「新」(一時的な)テーブルを保持するオプションを与え、またはキャンセルして保持することができますオリジナル。お役に立てれば。

関連する問題