INFORMIX-SE:
私のユーザーは定期的に SQL スクリプト [REORG.SQL] を実行します。このスクリプトは、テーブルからすべての行をソートされた順序で 2 つの別々のファイル (アクティブと非アクティブ) にアンロードし、テーブルを削除し、テーブルを再作成し、ソートされたロードファイルをそこにロードします。アンロードファイルをソートしたのと同じ列にクラスターインデックスを作成し、他のサポートインデックスを作成し、その統計を更新します。
( SE: 'bcheck -y' anomaly のREORG.SQL スクリプトを参照してください )
( クラスターインデックスが pk_id[serial]=fk_id[int] ではなく名前による理由については、customer.pk_name Join transactions.fk_name 対 customer.pk_id [serial] Join transactions.fk_id [integer]も参照してください)
私の REORG.SQL スクリプトでは、インデックス ファイルの一貫性の問題が発生していたので、CLUSTER INDEX が関係しているのではないかと疑い、クラスタリングなしでインデックスを作成したところ、問題は解消されました。
ここで私の質問は次のとおりです。顧客のフルネームでソートされたすべてのトランザクションデータを新しく作成されたテーブルにロードできた場合、実際には行がすでに同じ順序でソートされている場合に CLUSTER INDEX を作成する必要がありますか?クラスタリングが達成することは?..新しい行が追加されると、クラスタ化インデックスがクラスタリングを失い始めることを知っています.それで、クラスタインデックスを作成する利点は何ですか?..クエリオプティマイザはクラスタリングと非クラスタリングを利用しますか.行が本質的に同じクラスター化された順序である場合のインデックス?..テーブルをクラスター化するときに IDX/DAT ファイルの問題に遭遇した人はいますか?..おそらく私の SQL スクリプトに何か問題がありますか? (SQL スクリプト コードを確認して、何か間違っているかどうかを確認してください。)