質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Q&A

2回答

1128閲覧

accessで採用されているインデックス方式を教えて下さい。またそれに起因する「MSysCompactError」の可能性をご存知でしたら教えて下さい。

candy5656

総合スコア0

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

0グッド

0クリップ

投稿2020/07/17 00:57

編集2020/07/17 01:07

Access2010を利用しています。
120万件、70MB程度あるデータが不具合を起こしているように見え、最適化をすると頻繁に「MSysCompactError」を発するようになりました。
「不具合を起こしているように」と書いているのは、Accessを利用している方ならお察しの通り、明確なエラーではないが、それらしき兆候が出ていると経験則から察することです。
データ追加時に、インデックスの複数設定が原因で大量データに対する更新にて不具合を起こしている可能性を検討しています。
そこで影響の低そうなインデックスを削除しようと考えていますが、そもそも方式が何であるのか、いろいろ調べましたが方式が分かりませんでした。B-Treeを決めつけてとりあえず作業しています。
更にもしこのような状況での解決策を持たれていたらお教え頂けますと助かります。
このデータベースのオブジェクトにはテーブル以外は持たせていません。
尚、SQLServerへ移行は難しいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sazi

2020/07/17 03:02 編集

MSysCompactErrorではどのようなエラーが出力されていますか? また対象のファイルは共有されていますか?(同時で何台からアクセスがありますか) 共有されている場合、最適化のタイミングはどのようなものですか?
sazi

2020/07/17 01:24

発生の契機はありますか? 例えばテーブルのデザイン変更を行ったとか。
guest

回答2

0

最適化のエラーを起こさないようにするということでしたら
「インデックスの方式を特定する」というのはいささか遠回りだと思います。
特定したところで挙動を変化させることは『私の感覚として』ほぼ不可能であり
対症療法的に解決するしかないことも変わらないので、言い方が悪いですが
「インデックスがどうであろうとどうでもいい」と思います。

それよりも検討や検証すべきは
・「120万件」のデータを減らしたらエラーは減るのか
・別の要因ではないのか(例えばこれとか)

データベースがバグるとインデックスが飛ぶこともあります。
主キーが消えた経験も何度かあります。

あと
「ネットワーク利用をしているのか」「データベースの最適化はローカルで行っているのか」
「120万件というのは1テーブルなのか複数テーブルなのか」
などもう少しほしいところです。

投稿2020/07/17 01:19

sousuke

総合スコア3828

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Accessですからローカルに複写して、フォーム・クエリ・インデックス・リンク等全部削除して、テーブルだけで最適化してみたら如何でしょうか。
テーブル付属の基本インデックスまで削除は必要ないと思いますが、これで遣ってもダメであればテーブルかデータ又はファイルの破損です。
(追記)
MSysCompactErrorはエラーログテーブルの様なので、これも削除して良さそうです。

投稿2020/07/17 02:56

編集2020/07/17 03:42
tosi

総合スコア553

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問