- 締切済み
Access97データベースの最大登録レコード件数について
Access97のデータベースで、全国版の住所データ12万件を扱っているのを見たことがあるのですが、同データベースは開発で使用する際、最大どのくらいの件数まで登録可能であるのか、ご存知であれば教えてください。よろしくお願い致します。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- ARC
- ベストアンサー率46% (643/1383)
あ、ちなみに、Access97のデータベースのサイズは最大1GBですが、Access2000/2002だと2GBまでOKです。
- ARC
- ベストアンサー率46% (643/1383)
容量制限はあくまでMDB1コに付き、です。 例えば、1年に付き1コのDBを作るようにして、メインのDBを別に用意しておき、そこにデータDBのデータをリンクテーブルとして貼り付ければ、容量の問題は回避できます。 このようにしておくと、データサイズが「手頃」になるので速度面やメモリ面でのメリットがありますし、データのバックアップも一年単位ですむので、メンテナンスも楽になるかもしれませんね。 ただ、年をまたがった集計なんかをする場合には、CHOROLYNさんの仰るように、一時テーブル使って云々ってな作業が必要になります。 ま、でかいデータを軽快に扱おうとすれば、それなりに手間がかかるのは致し方ないことでしょう。
逆算はかなり面倒では?インデックスの付け方でかなり変わってきますし、テキスト型の場合は可変長ですので、中身によって1レコードのサイズも違いますので。 年間30万件だと危ないかもしれませんので、毎日きちんとバックアップを取らないといけませんね。最悪の場合でも前日の状態には戻せますので。 ウチのユーザー様の経理のシステムで年間50万件以上の仕訳データ(80MB~100MB程度)発生する所がありますが、そこの場合、決算期毎に環境をわけています。決算過ぎると過去のデータは参照はしても修正することはない(したらダメですね)ので、第1期会計システム・第2期会計システム・・・という風にフォルダやショートカットを別にしています。 年月をわけて管理する場合、年月がまたがったデータを処理となると、単純なSQL文では無理そうですよね。一時テーブルにそれぞれの年月のデータを抽出・マージしてから処理するっていう大変な作業が発生するでしょう。
補足
大量のデータを扱う場合、他の開発ではどんなふうにデータベースを管理しているのかなぁと興味もあったので、経理システムの例を紹介していただいて、とても参考になりました。ありがとうございました。
経験上から... 1テーブルで300万件のデータを扱った事があります。 集計用の一時テーブルで、壊れても支障はない(集計はやり直す必要がありますが(^^;;)モノだったので、問題はないですが、Hk2001さんがおっしゃっているように壊れる問題がありますので、顧客データや売上データなど重要なものでレコード件数の多いものはAccessのJetデータベースは普通使いません。SQL Serverを使用しています。業務内容・トラフィック・開発の仕方にもよりますが、数万件までなら使用に耐えうる範囲ではないでしょうか? あとVBからデータ操作してもEngineがJetである以上壊れやすいのではないですか?
補足
回答どうもありがとうございました。今回はJetエンジンデータベースを使用することが決定しており、年間30万件のデータを扱うことになるので、Accessに限界がある場合、年月毎にMDBファイルを管理することも考えています。ただ、年度の集計処理や月をまたぐデータの参照を行う場合、処理が複雑化することもあって、1つのMDBファイルでデータを管理できたらいいなぁと思いました。もし、他に何かよい例がありましたら教えてください。
- Hk2001
- ベストアンサー率48% (24/49)
アクセスのDBは1Gまでです。 一概に何件までというのは断定できません。 某システムの個人情報のシステムは 100万件位いっていました。 ただ、VBなどのプログラムからデータを扱わないとアクセスが壊れる可能性がありました。そのときの容量が 900MBくらいでした。
補足
今回の開発はVBなのですが、年間あたりの登録レコード件数として30万件を予想しています。今のところ実データがないので、仮データ1万件あたりのMDBファイルの容量を参考に、単純に、アクセスDBの限界容量(1G)から可能登録レコード件数の逆算出を行う考えは適切でしょうか?
補足
データベースは年月毎のファイルで管理し、データ参照・集計の際は一時テーブルを使用することにしました。Access2000/2002の件も参考になりました。ありがとうございました。