4D v14

セットと命名セレクション

ホーム

 
4D v14
セットと命名セレクション

セットと命名セレクション    


 

 

ビデオ中で説明されている操作に加え、以下の点にも留意してください。

メモリの観点からみると:

  • セレクションの場合、セレクション中のレコードごとに4バイト必要です。
  • セットの場合、テーブル中のレコード数ごとに1ビット必要です。
    セットは一連のビットで表現されます。総ビット数はテーブルの総レコード数に対応します。セットの各ビットはそのレコードがセレクションに含まれているかいないかを表します。

以下の表はセットと命名セレクションの違いをまとめたものです:

テーマセット命名セレクション
1レコードあたりのメモリ消費量1 bit4 bytes
並び順を保持NoYes
カレントレコードを保持YesYes
結合YesNo
交叉YesNo
YesNo
ディスクに保存YesNo
20,000テーブルレコード中10がカレントレコードのときの使用メモリ20,000 bit = 2,500 byte10 x 4 byte = 40 byte

セット間の演算は同じテーブルのセットでのみ可能です。

警告: セットはレコードの削除などが行われると有効ではなくなります。限定した時間内でのみ利用すべきです。またセマフォーなどの使用も考慮すべきです。

セットのビットは各テーブルレコードの位置に対応します。レコードの削除と追加が行われると、削除されたレコードが新しいレコードに置き換えられるかもしれません。このときセットは期待したレコードを含んでいない状態となります。

しかしながら依然としてセットは二つのセレクションを比較する素早い方法です。

セレクションを保持する方法としてはほかにSELECTION TO ARRAYコマンドを使用して、レコード番号配列を取得することもできます。

メモリ中に保持したセレクションのコピーが必要なくなった時は、それを削除してメモリ領域を開放すべきです。

 CLEAR SET("SetName")
 CLEAR NAMED SELECTION("SelectionName")

 
 

 
プロパティ 

プロダクト: 4D
テーマ: セットと命名セレクション

 
ARTICLE USAGE

セルフトレーニング ( 4D v13)
セルフトレーニング ( 4D v14)