2009-04-05 14 views
4

私は自分のアプリケーションでデータを読み込んで読み込むためにMS Access 2007を使用していますが、実際は遅いです。MS Access 2007の高速ポータブルデータベースの推奨事項よりも速いものはありますか?

私は長い間、実行中のアプリケーションを持っていると私はメモリからそれを実行した場合、それはおよそ分かかりMS Access 2007のと、およそ分かかります!

私は高速でポータブルなデータベースオプションを探しています。私は.NETを使用しています。私は高度なリレーショナルデータベースを探しているわけではありません。まともなデータベースのように機能するとすぐに、それで十分です。

EDIT:

私は主に複数のスレッドからの同時挿入をやっています。

結果

私はSQL ServerのCompact Editionの3.5 SP1を試みた、それは代わりに、私は1.5メガバイトの依存関係を持っている依存の72メガバイトのアクセス+よりも400倍速い%ので、メモリから実行されているとほぼ同じですそれは素晴らしいです。

P.S.データベースは正規化され、クリーンでコンパクトで、私はstored_proceduresとネイティブクライアントを使用しています。だから私はすでにもっと速くするために多くのことを試みました。

答えて

2

SQL Server Expressの2008それは自由だし、それは、SQL Serverのです。 sqliteのウィキから

+0

MS Access、コピー貼り付け、接続のようなポータブルですか?窓のないサービス? –

+0

まず初めに、インストーラを試して、UIなしでデフォルトで実行できるかどうかを確認することをお勧めします。次に、必要に応じて、SQL Server Compact Editionについて考えてみましょう.SQL Server Compact Editionは、Accessのようなもので、個々のファイルを操作します。 –

+0

実際に私のアプリは既にSQL Server 2000に切り替えることができ、正常に動作します。だから私はコンパクト版をダウンロードし、それがよりうまくいくかどうかを見ています。 –

8
+0

パフォーマンスが良いですか?私はフォーラムのコメントのカップルがそれが良いと主張しているのを見てきましたが、ベンチマークやそれに類するものを見つけることができませんでした。 –

+0

より速いです。 Accessを停止するのではなく、あなたの状況で使用できるほとんどすべてのデータベースが高速です。 Accessの強みは、フォームとレポートを作成するためのエンドユーザーツールです。 – David

+0

非常に高速です、ドライバーは自己完結型で、インストールは必要ありません...また非常にスケーラブルです – jle

3

SQLiteは同時接続と複雑なデータベース機能を多用するしないシステムのための選択の速度鬼です。同時接続がたくさん必要な場合は、おそらくSQLiteが最適な選択肢ではありません。しかし、1つの接続に多くの速度と簡単な設定が必要な場合は、SQLiteが私が見た中で最も良い方法です。

http://www.sqlite.org/cvstrac/wiki?p=PerformanceConsiderations

はまた、あなたのニーズに応じて、mysqlの、pgsqlか、もしくはMSSQL(CEまたはエクスプレス)(フリー両方)、 を見てみることをお勧めします。


編集:あなたのコメントをもとに、あなたはおそらく(表現)pgsqlか、もしくはMSSQL、MySQLのようなサーバー上で実行されるものが必要になります


EDIT2:あなたは、ほとんどの場合はインデックスは挿入/更新を少し遅くする可能性があるので、テーブルに未使用のインデックスがないことを確認してください。

+0

同時接続ではありませんが、10-50スレッドからの同時挿入ほどです。 BTWはリンクをありがとう。 –

+0

私はちょうどそのページを読んで、私はsqliteは私の場合は、そのページによると、sqliteはそれについては良くないと書かれたロックに苦しむだろうと思う。 –

2

正直、私はあなたがはるかに速い結果を得るつもりはないと思います。あなたのプログラムはおそらくI/Oバウンドです。つまり、ディスクの速度が減速しています。

SQLコンパクト・エディション(CE)を試すことはできますが、他のツールの結果が遅いか遅いと思われます。

+0

SQLコンパクトエディションはまだストアドプロシージャをサポートしていますか?その場合は、ストアドプロシージャの不足を調整することを移行計画に含めることができます。 – Leah

1

また、Firebird:www.firebirdsqlを使用することもできます。組織

無料で非常に使いやすいです。いくつかの良い.netドライバがあります。

アプリケーションを販売する場合:MySQLは無料ではありません。

関連する問題