過去の桐井戸端BBS (桐ver.8)
8254 ネットワークで表を開くとき、共有で開くと表示まで時間がかかる HOSHI 2000/10/25-23:02
v5からのバージョンアップの最中です。
一括処理で 
表 abc モード=共有参照,索引名=あ で表を開くとき、
"モード=共有参照"の記述がないときに比較して、表が表示されるまでの時間がかなりかかります。
データ数は10万件を超えています。
並べ替えに時間をとっているようですが索引が作成されている並べ替えでは、通常瞬時に終わっているのに、とても気になります。
なにか解決策はあるのでしょうか。

8258 共有で開かれた表 佐田 守弘 2000/10/26-18:33
記事番号8254へのコメント
HOSHIさん

表を共有モードで開く時には、専有モードと違い、次の様な動作になります。
@バックアップありに設定した表でも、バックアップなしの状態で開かれる。
(バックアップなしに変わるわけではない)
A索引ありの表でも、作られている索引は参照されない。
(索引の保守は行われます)

このうちのAの事から、索引があって並べ替えが設定された表を共有で開いた場合、
その時点で索引を使わない並べ替えが行われるために、とても時間が掛かると行った状況が生じます。

●なぜ索引があるのに使われないのか
共有状態では、自分以外のユーザによって、データが更新される可能性があります。
データが更新されれば、索引も変更しなければなりません。
通常、索引は表を開くに先立って読み込まれ、データの検索や並べ替えの時に使われます。
そしてレコードが更新されれば、その更新結果で索引も訂正します。

しかし共有状態では自分が読み込んでいる索引が、他のユーザーによって変更されている可能性があり、
索引が有効であるかどうかが分からない状態になります。
索引が有効かどうかを常にチェックしていると、どうやらそのために処理が遅くなる場合があるらしく、
現状では共有で開く時には索引を参照しない仕様になっている様です。

佐田守弘(KS-00119)
8350 Re:共有で開かれた表 HOSHI 2000/10/31-23:47
記事番号8258へのコメント
佐田さん
あとでマニュアルに書いてあることに気が付きました。なぜそうなのかについては佐田さんの説明で理解できました。
ありがとうございました。
自分ごとですが、今日10月31日に7月に申し込んだフレッツがようやく開通したんです。
質問をしておきながらその設定に時間を取られお礼の返事が遅れてしまいました。

戻る