| 4D v18SET INDEX | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v18
 SET INDEX 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SET INDEX ( aField ; index {; mode} {; *} ) | ||||||||
| 引数 | 型 | 説明 | ||||||
| aField | フィールド |   | インデックスを作成または削除するフィールド | |||||
| index | ブール, 整数 |   | True=作成、False=削除、または インデックスを作成: -1=キーワード、 0=デフォルト、1=標準B-Tree、3=クラスタB-Tree | |||||
| mode | 倍長整数 |   | 廃止 (引数は無視) | |||||
| * |   | *を渡すと非同期にインデックスを作成 | ||||||
SET INDEX は旧式のコマンドではありますが、これは完全にサポートされており、既存のコードを書き換えることなくアプリケーション内で維持してよいコマンドです。しかしながら、インデックスを管理するためにはCREATE INDEX および DELETE INDEX コマンドを使用した方が、より多くの機能が提供されるため、推奨されています。
SET INDEX には2つのシンタックスがあります。
index = ブール
フィールドをインデックスするには、indexにTrueを渡します。コマンドはデフォルトタイプのインデックスを作成します。インデックスが既に存在する場合、呼び出しは機能しません。
indexにFalesを渡すと、コマンドはフィールドに関連づけられたすべての標準インデックス (非複合、非キーワード) を削除します。インデックスが存在しない場合、呼び出しは機能しません。
index = 整数
コマンドはaFieldに対して指定されたインデックスを作成します。Index Typeテーマにある以下の定数のいずれか1つを渡します。
| 定数 | 型 | 値 | コメント | 
| Cluster BTree Index | 倍長整数 | 3 | クラスタを使用するB-Treeタイプのインデックス。このインデックスタイプは、インデックスが少数のキーを持つ場合、つまり同じ値がデータ内で頻繁に生じる場合に最も適しています。 | 
| Default Index Type | 倍長整数 | 0 | 4Dはフィールドに応じて最適なインデックスのタイプを設定します (キーワードインデックスを除く) 。 | 
| Keywords Index | 倍長整数 | -1 | キーワードタイプのインデックス。キーワードを複合タイプにすることはできません。fieldsArray配列にはひとつだけフィールドを渡します。 | 
| Standard BTree Index | 倍長整数 | 1 | 標準 B-Treeタイプのインデックス。この多目的用のインデックスタイプは4Dの以前のバージョンで使用されています。 | 
注: テキスト型のフィールドに設定されたBツリーインデックスは最大で最初の1024文字をインデックス化します。この場合、1024文字以上を含む文字列の検索結果は正しくなりません。
SET INDEX コマンドはロックされたレコードのインデックス付けは行いません。レコードがロック解除されるまで待機します。
バージョン11以降、引数modeはもうその役割を果たさなくなっています。渡された場合は無視されます。
オプション引数*を用いて、非同期に(同時に)インデックスが付けられるようになりました。非同期なインデックス付けにより、インデックス付けが終了したかどうかに関係なく、呼び出し側のメソッドの実行をそのまま続行できます。ただし、インデックスが必要なコマンドを実行すると失敗します。
注:
以下の例は、[Customers]IDフィールドにインデックスを付けます。
 UNLOAD RECORD([Customers])
 SET INDEX([Customers]ID;True)[Customers]Name フィールドを非同期モードでインデックスします:
 SET INDEX([Customers]Name;True;*) SET INDEX([Books]Summary;Keywords Index)
									CREATE INDEX
									
									DELETE INDEX
									
									GET FIELD PROPERTIES
									
									ORDER BY
									
									QUERY
									
	プロダクト: 4D
	テーマ: ストラクチャアクセス
	番号: 
        344
        
        
        
	
	変更: 4D v11 SQL  
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	ランゲージリファレンス ( 4D v18)
	
	
	
	
	
 コメントを追加
コメントを追加