Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 » Ultra Light データベース管理とリファレンス » Ultra Light のパフォーマンスに関するヒント » クエリのパフォーマンスに関するヒント

 

最適なハッシュサイズ制限

Ultra Light のデフォルトの最大ハッシュサイズである 4 バイトは、ほとんどの場合に適しています。値を大きくしてロー ID とともに含めるデータを増やすことができます。ただし、そうすると、インデックスのサイズが大きくなり、複数ページに断片化される場合があります。この変更によって、結果的にデータベースのサイズが大きくなる可能性があります。最大ハッシュサイズを大きくした場合の影響は、テーブル内のローの数によって異なります。たとえば、ローの数が 2 つか 3 つ程度であれば、インデックスハッシュキーが大きくてもインデックスページに収まります。その場合、インデックスの断片化は起こりません。

最適なハッシュサイズを選択するには、データ型、ローのデータ、データベースのサイズ (特にテーブルに含まれるローの数が多い場合) を考慮してください。

最適なハッシュサイズを選択したかどうかを確認する唯一の方法は、ターゲットデバイスで Ultra Light クライアントアプリケーションに対してベンチマークテストを実行することです。データベースサイズ自体の変化に加え、さまざまなハッシュサイズがアプリケーションとクエリのパフォーマンスに及ぼす影響についても確認する必要があります。

インデックス化されるカラムに、共通のプレフィクスがない文字列など、適切な値の分散がある場合は、インデックス構造が大きくなっても、インデックスのハッシュによって挿入、更新、削除、検索のパフォーマンスが改善されます。ハッシュされたインデックスは、ハッシュを使用して最初にローを特定してから、ダイレクトロー比較で同じハッシュ値のローを区別します。ハッシュサイズが十分に大きければ、ハッシュをユニークに識別できるので、ローの読み出しと比較は必要ありません。ただし、ページサイズに比べてハッシュサイズが大きすぎると、インデックスに多数のデータベースページが必要になる可能性があります。

 データ型
 ローのデータ
 データベースサイズ
 ハッシュサイズの設定
 参照