【小技】Selection to JSONをクライアント/サーバーで実行するときに注意点

Go down

【小技】Selection to JSONをクライアント/サーバーで実行するときに注意点

投稿 by miyako on 2017-03-28, 2:54 pm

Selection to JSONは,カレントセレクションに基づくJSON文字列(オブジェクトの配列)を出力するコマンドです。

特にポインターを使った『差し込み』モードは,必要なフィールドだけを任意の順序で書き出すことができ,とても便利です。

http://doc.4d.com/4Dv15/4D/15/Selection-to-JSON.301-2007546.ja.html

とはいえ,注意したい点があります。

SELECTION TO ARRAYとは違い,このコマンドは『4D Server用に最適化』されていません。つまり,サーバー側でレコードをまとめて処理し,結果をクライアントに返すのではなく,クライアント側で逐一レコードを処理するようになっています。

http://doc.4d.com/4Dv15/4D/15.4/SELECTION-TO-ARRAY.301-3274925.ja.html

実際,リクエストログ(データベースパラメーター#28, 4D Server log recording)を有効にすると,レコード1件につき,3回のリクエストが送受信されていることがわかります。それで,Selection to JSONをクライアント/サーバーで実行すると,処理が非常に遅くなるかもしれません。

http://doc.4d.com/4Dv15/4D/15.4/SET-DATABASE-PARAMETER.301-3274410.ja.html

回避策

Selection to JSONがクライアント/サーバーで遅いように感じる場合,『サーバー上で実行』プロパティを活用し,処理を『4D Server用に最適化』することができます。

http://doc.4d.com/4Dv15/4D-Server/15/Execute-on-Server-attribute.300-2047520.ja.html

miyako

投稿数 : 272
登録日 : 2016/07/05

トップに戻る Go down

トップに戻る


 
Permissions in this forum:
返信投稿: 不可