初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2017-02-20 17:48:24

nakatomodesu
Member

ESSでデータ量の多いテーブルへのレイアウト移動が遅い

win7
FM15 advanced

タイトルの通りです。
ESSにてoracle11gのテーブルを参照しています。
その中で1000万件を超えるテーブルが1つあり、このテーブルを
基底とするレイアウトへの移動が非常に遅く困っております。
10~20分応答が無く、応答後は普通に検索等が行えます。

とにかくレイアウト切り替えだけが、異常なレスポンスなのです。。

試したこととして

1.別テーブルのレイアウトで検索モードにしてから対象レイアウトへ移動
  ⇒全く変化無し
2.対象レイアウト上のオブジェクトを全て削除してみる
  ⇒全く変化無し
3.レイアウトモードで試してみる
  ⇒全く変化無し(なぜ。。)
4.ExecuteSqlでデータ取得してみる。
  ⇒これも全く応答無し

唯一の対応策としましては、ODBC経由のレコードインポートとなります。
この方法だと一時表を作る必要が有り、全てのスクリプトをこれに対応させるのは
できれば避けたいところです...。

何か回避策をご存知の方がいらっしゃったら、ご助言のほどよろしくお願いいたします。

Offline

#2 2017-02-21 11:52:31

tim
Guest

Re: ESSでデータ量の多いテーブルへのレイアウト移動が遅い

列数は?
索引はありますか?
補助フィールドを作ってますか?

#3 2017-02-21 17:18:54

nakatomodesu
Member

Re: ESSでデータ量の多いテーブルへのレイアウト移動が遅い

timさん
resありがとうございます。

列数は22です。blobのような特殊なフィールドはありません。
Number、Varchar2、Dateのみです。

索引は4つほど定義されております。

補助フィールド(計算フィールドと同義ですよね?)は定義しておりません。

ちなみにその後、このESSのみのファイルを1から作って試しても同じでした。。

Offline

#4 2017-02-28 16:31:12

nakatomodesu
Member

Re: ESSでデータ量の多いテーブルへのレイアウト移動が遅い

解決はしていませんが、FM社から回答頂きましたので共有します。

oracle側に、ユニークキーが定義されていないことが原因のようです。
一度キー情報をキャッシュに溜め込んでから表示するらしく、この処理の際に
ユニークキーが無いと時間がかかるとのことでした。
対策としてはoracle側にユニークキーを定義するか、viewを作成して
rownumを使って、擬似的にユニークキーを作る方法が有効だそうです。

私の環境では残念ながらこの対策が取れない状況ですが、次回以降は
この点を考慮して要件を固めるようにしたいと思います。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.016 seconds, 10 queries executed - Memory usage: 506.92 KiB (Peak: 511.46 KiB) ]