過去の桐井戸端BBS (桐ver.9)
28287 表の再定義や項目を追加した時などにとても時間が長くかかる tetsu-s 2004/11/25-00:24
桐3から使い始めて、データベースのおもしろさにとりつかれてます。
4月に転職して桐から離れるとおもいきや、9月からまた桐を使い始めてま
す。以前は会社で使用してましたが、今度は個人で購入してしまいました。
これからよろしくおねがいします。さて早速質問ですが、

住所録のデータで、項目数約60、データが約3000件の表に項目追加や定義変更など行った場合、
再定義時間が非常に長くかかってしまいますが、これってしかたのないことなのでしょうか?
短時間にできる方法あれば教えて下さい。
表の中では表引き(〒番号→住所を自動表示)などの設定もあります。

28289 再定義の時間 佐田 守弘 2004/11/25-00:41
記事番号28287へのコメント
tetsu-sさん

住所録で項目数約60、データ件数3000件は、大した量ではありません。
桐の処理能力からすれば、微々たるサイズだと思います。

「再定義時間が非常に長くかかってしまいます」が具体的にどの程度であるのか、
言葉だけでは分りません。またPCの能力などによっても変わります。
この住所録が単独の表であれば、おそらく長くとも数分以内に終るのが普通と思います。

再定義を遅くする原因としていくつか列挙します。
・表引きなどの設定
再定義終了後に計算項目は再計算されます。項目計算式に「#表引き」関数を使って表引きしていれば、
全データについて表引きし直すので、時間がかかります。
これは止むを得ません。
表引きの場合、表引き表に索引を設定していれば、格段にスピードアップすると思います。
・索引の数
整列索引は全て再構築されます。もし何回も再定義を繰り返す様な場合には、
一度索引を削除し、再定義が完成した後で索引を改めて作り直すのも方法です。
・他の表との参照整合性チェック
ヒントが2番目の質問にありました。参照整合性を設定されていますか?
参照整合性を設定している場合、整合性を保つために、相手方の表についても
データの書き換えやチェックが行われます。
これも致し方ありません。
詳しくは次の質問のコメントで記述しますが、
参照整合性を削除すると、データの整合性が失われ、データベースとしての
意味をなさなくなってしまいます。

佐田守弘(KS-00119)
28300 Re:再定義の時間 宮城 2004/11/25-19:32
記事番号28289へのコメント
事情は佐田さんのお書きになっているとおりなんで、ひょっとすると見えない削除行が
山ほどあったということなら「表整理」が有効かもしれませんね。

28304 Re:再定義の時間 tetsu-s 2004/11/25-21:59
記事番号28289へのコメント
佐田さん、宮城さん早速のご回答ありがとうございます。
佐田さんのご意見にありました通り、データ量としては少なく、まだ扱いやすい量だと思います。
佐田さんの説明を参考に色々試してみたいと思います。

宮城さんのご意見についても参考になりました。これも再定義の上で時間ロスしていることは認識していました。
Ver3かVer5の時一度削除した行が復活してしまって逆に困ったことあり、それ以来すべて表整理してます。

今後ともよろしくお願いします。

戻る