人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

現在、
社内ネットワーク上にACCESSを置いて、
複数人でそのファイルにアクセスしているのですが、大変重いです。

同じ機能のデータベースアプリケーションをMySQLとperl(またはphp)なんかで組めば、
一般的に軽くなると考えてよろしいでしょうか?

1レコードにつき30個のデータ項目があり、数千から数万のレコード。
そのデータベースをAccessのフォームを通して利用。
常時4人くらいが接続しています。できたら20人くらいで簡単に接続できるようにしたいです。

漠然とした質問だと思いますが、簡単な一般論を教えてください。

●質問者: tetlis
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:access MySQL Perl PHP アクセス
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● Mr_T_0023
●27ポイント

Mr.Tです、こんにちは。

一般的には、

まず、重いというのが何が重いのかを調べる必要があるでしょう。

それによって、対応の仕方が異なりますので。

ハードのスペックが十分なら、とりあえずAccessからSQLServerに移行してみる、という手はありますね。Accessからウィザード形式で移行できるので、簡単ですし。

http://Dammy


2 ● memo77
●27ポイント

おそらくいま遅いのは、Accessを直接共有しているからロックがかかっているためだと思います。

一番手っ取り早いのは、Accessをそのまま使って、テーブルだけSQLServerに置いてリンクテーブルとすることですね。

SQL Server 2005 Express Editionなら無料です。

このとき各ユーザーの使うmdbはローカルにコピーして各人で使います。バージョンアップが頻繁だと、ちょっと面倒です。

Accessでどこまでやっているかわかりませんが、ただ単にデータを呼び出して、書き込むだけのシステムなら、Perl+MySQLだろうがAccessだろうがそう変わりはないでしょう。実力次第では。

Accessで充実したインターフェースを作っているなら、これをコンバートするのは大変です。


ポイントとなるのは、Accessをローカルにコピーして運用できるかどうか、セキュリティをどう考えるか、保守メンテナンス、といったところではないでしょうか。

URLはダミー

http://www31.atwiki.jp/memo77/


3 ● kuruma_neko
●26ポイント

私もAccessを業務で使用したことがありますが、ネットワーク越しにMDBの共有で使用すると、非常に遅く使い物になりませんでした。これは実行エンジンがローカルにあるために、一度テーブルデータを全てローカルに持ってくるため遅くなるらしいです。オラクルやSQLサーバでは、DBサーバ上で計算し、結果だけをクライアントに返してくれるため処理が早いです。インデックスを作成してなかったり、作成してもインデックスが使われるSQLの書き方でなかったりという処理が遅くなる原因は多々ありますが、一般的にMySQLとperl(PHP)を使用したシステムは、AccessMDBを共有したシステムより早いです。

http://dummy.com

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ