2021年6月21日月曜日

FileMakerのシリアルについて

 シリアルを付けるのに、こういうのはパフォーマンスが遅くなります。

レコード数が増えているときにExecuteSQL でMAX値を取得する時間が半端ないです


ExecuteSQL ( "SELECT

MAX ( \"_請求CD\" )

FROM \"D請求_\"

";"";"") + 1

こういうのやめましょう


また

  SerialIncrement ( "001" ; Max ( 自己リレーション::連番 ) )
      「式内の全フィールドの値が空欄のとき、計算しない」のチェックを外す。

こっちの方が処理は早いのですが、現金商売のお客様で複数支店がある場合などは

MAX値を取得する時間内でぶつかります。



最近、どんな事情があっても

こっちを使うように奨めてます。

もしくはスクリプトのスクリプトの「次のシリアル値を設定」。

なんたって簡単!

パフォーマンスがひどく下がるリスクと天秤にかけて決めましょう




0 件のコメント:

コメントを投稿

最適化してますか?

 まるで入院していた患者が退院して元気に復活するような機能。 クラウドを使用するユーザーさんがほとんどなのですが、このゴールデンウィーク中は 最適化のメンテしときます。 データがピチピチしちゃいますよぅ。