Actian Zen v15 SP1(v15.10)以降では、一部の SQL クエリのパフォーマンスを向上させるために、v13 形式で新しく作成されたファイルには、キー・セグメントごとの統計情報が保持されるようになりました。このため、Actian Zen v15 SP1(v15.10) 以降のエンジンを使用してファイルを v13 形式に作成または再構築すると、Actian Zen v15 SP1(v15.10)より前のエンジンではこのファイルを使用できなくなります。Zen v15 SP1 よりも古いバージョンのエンジンでこのファイルを開こうとすると、ステータス 30 「指定されたファイルは MicroKernel ファイルではありません」 が発生します。
解決方法
Actian Zen v15 SP1(v15.10)以降のエンジンを使用していて、それより古いエンジンで使用するためにファイルを作成または再構築する場合は、v9.5 ファイル形式を使用する必要があります。 古いエンジンで使用するために v13 形式のファイルが必要な場合は、古いエンジンでそのファイルを作成/再構築する必要があります。
v13 形式ファイルが新しいキーセグメント統計情報を使用しているかどうかを確認するには、そのファイルに対して BUTIL -STAT を実行します。 例えば、v9.5 形式の DEMODATA ファイル ENROLLS.MKD を 15.10 以降のエンジンで v13 形式に再構築した場合の BUTIL -STAT の一部の出力は下記のようになります。
v9.5 形式の DEMODATA ファイル ENROLLS.MKD の状態
v9.5 形式の DEMODATA ファイル ENROLLS.MKD を 15.10 以降のエンジンで v13 形式に再構築後の状態
2 つのセグメントを持つキー 0 は、再構築後に各セグメントで異なる「Unique Values(一意のキー値)」を持っていることに注目してください。
上記のように同じキーで各セグメントに異なる「Unique Values(一意のキー値)」がある場合、v15.10 以降のエンジンで作成された v13 形式のファイルであることを判断できます。
SQL エンジン オプティマイザーは、この情報を使用して、どのインデックスを使用すれば最高のパフォーマンスが得られるかを判断することができます。