みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
ver14.win7です。
あるファイルのフィールドを全置換したところ、置換スピードがある瞬間から極端に遅くなってしまいます。
20万件くらいのレコード数で、置換はじめは置換数の残り数表示が1000件単位くらいで減っていき、
その調子なら数十秒でおわりそうな感じなのですが、途中から約10万件を超えたくらいから1秒に5件とか10件くらいしか置換されず、
プログレスバーをみていたらいつ終わるのか??みたいな状況になってしまいます。
全置換の内容としましては、自己リレーションで、複数条件で重複しているもの&その中でのレコード作成日付順に順番をソートして数値をいれる全置換です。
スピード低下の大きな原因としてはハードのメモリの大きさ的な要因もあるのでしょうか?
Offline
全置換の内容によるのでは。
それ以前のレコードの値を使うような計算は、
レコードが進むとどんどん計算が遅くなりますよね。
Offline
ありがとうございます。
いまよく見直していたら、遅くなる要因っぽいものがわかりました。
日付順にソートに関しては、タイムスタンプでレコードの作成日時をいれているのですが、
レコードの最初のほうはそのフィールドをまだ作っていないときで値がなく、遅くなるあたりからフィールドに値が入っています。
・・・タイムスタンプが入っているレコードあたりから速度低下かなと推測されます。
構造から落ち着いて再度検討します。
Offline
そのフィールドの索引が常時必要でなければ、を作成させない様にしておくと、早くなるかもしれませんよ。必要時に作成、にしてもいいかも。
Offline
Shinさん、ありがとうございます。
索引をはずしたり、なんらかの関係があるかもしれない計算フィールドを一旦はずしたりとした上で悩んでいました。
リレーションが複雑になりつつあるので、どこかに気づいていない無駄な計算をする部分があって処理を重たくしているのかもしれませんね。
Offline
Pages: 1
[ Generated in 0.006 seconds, 10 queries executed - Memory usage: 507.12 KiB (Peak: 511.66 KiB) ]