インデックスは、テーブルの 1 カラムまたは複数のカラムについてローに順序を付けます。電話帳のように、インデックスは最初に姓でソートし、次に同じ姓の人を名前でソートします。この順序は、特定の姓を持つ人の電話番号をすばやく検索できますが、特定の住所から電話番号を検索する場合には意味がありません。同様に、データベース・インデックスは、特定のカラムを 1 つまたは複数検索する場合にのみ役立ちます。
インデックスの有用性は、テーブルのサイズが大きくなるにつれて増大します。住所から電話番号を検索する速度は電話帳の厚さに比例しますが、姓で検索する場合は電話帳のサイズにあまり関係ないのと同じです。K. Kaminski を検索する場合、厚い電話帳と薄い電話帳ではほとんど時間は変わりません。
適切なインデックスが存在し、使用するとパフォーマンスが向上する場合、データベース・サーバのクエリ・オプティマイザは自動的にインデックスを使用します。
インデックスの作成にはいくつか欠点があります。特に、カラム内のデータが変更された場合はインデックスをテーブル自体とともに管理する必要があるため、挿入、更新、削除のパフォーマンスがインデックスによって影響される場合があります。このため、不要なインデックスは削除してください。インデックス・コンサルタントを使用して、不要なインデックスを識別します。クエリに対するインデックス・コンサルタントの推奨内容の確認を参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |