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

SQL Anywhere 12.0.1 » SQL Anywhere サーバー SQL の使用法 » テーブル、ビュー、インデックス

 

インデックス

「インデックス」は、テーブルの 1 カラムまたは複数のカラムについてローに順序を付けます。電話帳のように、インデックスは最初に姓でソートし、次に同じ姓の人を名前でソートします。この順序は、特定の姓を持つ人の電話番号をすばやく検索できますが、特定の住所から電話番号を検索する場合には意味がありません。同様に、データベースインデックスは、特定のカラムを 1 つまたは複数検索する場合にのみ役立ちます。

インデックスの有用性は、テーブルのサイズが大きくなるにつれて増大します。住所から電話番号を検索する速度は電話帳の厚さに比例しますが、姓で検索する場合は電話帳のサイズにあまり関係ないのと同じです。K. Kaminski を検索する場合、厚い電話帳と薄い電話帳ではほとんど時間は変わりません。

オプティマイザーでは、自動的にインデックスを使用して、データベースの文のパフォーマンスを改善できる場合は改善します。ローが削除、更新、挿入された場合は、自動的にインデックスの更新が行われます。クエリの作成時にインデックスヒントを使用してインデックスを明示的に参照できますが、その必要はありません。

インデックスの作成にはいくつか欠点があります。特に、カラム内のデータが変更された場合はインデックスをテーブル自体とともに管理する必要があるため、挿入、更新、削除のパフォーマンスがインデックスによって影響される場合があります。このため、不要なインデックスは削除してください。インデックスコンサルタントを使用して、不要なインデックスを識別します。

 作成するインデックスの決定
 テンポラリテーブルのインデックス
 参照

複合インデックス
クラスタードインデックス
インデックスの作成
インデックスの検証
インデックスの再構築
インデックスの削除
高度:カタログ内のインデックス情報
高度:論理インデックスと物理インデックス
高度:インデックスの選択性とインデックスファンアウト
高度:SQL Anywhere がインデックスを使用するその他の方法