Ms-access-indexing
MS Access-インデックス作成
インデックスはデータ構造であり、データ取得の速度を向上させるために設計された特別なデータ構造です。 テーブルを頻繁に検索したり、特定のフィールドでレコードをソートしたりする場合は、フィールドのインデックスを作成することにより、これらの操作を高速化できます。 Microsoft Accessは、ブック内のインデックスを使用してデータを検索するときに、テーブル内のインデックスを使用します。
- 主キーなどの場合、Accessは自動的にインデックスを作成します。
- また、自分でインデックスを作成することもできます。
- インデックスは、インデックスを作成するために選択したフィールドに基づいてレコードの場所を保存します。
- Accessは、インデックスから場所を取得した後、正しい場所に直接移動してデータを取得できます。
- このように、インデックスを使用すると、すべてのレコードをスキャンしてデータを検索するよりもかなり高速になります。
- インデックスを使用すると、クエリでの検索を高速化できますが、レコードを追加または更新する際のパフォーマンスも低下する可能性があります。
Microsoft Accessがデフォルトで作成するインデックスと、それらを自分で作成する方法を調べ、不要なインデックスを削除する方法を学びましょう。 作成したAccessデータベースの tblEmployees テーブルを開きます。
- このデータベースでインデックスを実際に使用したことはありませんが、だからと言ってインデックスがないというわけではありません。
- 実際、Accessで主キーとして設定されているフィールドには、自動的にインデックスが作成されます。
- Accessは、フィールドの名前に応じて追加のセカンダリインデックスを作成します。
[ファイル]メニューに移動し、[オプション]を選択します。
[アクセスオプション]ウィンドウが表示されます。
- オブジェクトデザイナー*に移動すると、インポート/作成時にAutoIndexというラベルのセクションが表示され、テキストボックスにID; key; code; numが表示されます。 デフォルトでは、これらの名前で始まるフィールドまたは終了するフィールドに手動で作成したフィールドだけでなく、インポートしたフィールドにもセカンダリインデックスが自動的に追加されます。
フィールドにインデックスを作成する場合は、[フィールド]タブに移動できます。
インデックスを作成するフィールドを選択し、[フィールド検証]セクションの[インデックス付き]チェックボックスをオンにします。 インデックスを作成または削除するための代替オプションもあります。 *デザインビュー*に戻ることができます。
任意のフィールドを選択して、インデックスを調整できます。 また、下のフィールドプロパティエリアでインデックスの作成方法を確認できます。 インデックス付きの横に No が選択されているフィールドは、そのフィールドにインデックスがないことを意味します。 ドロップダウンメニューをクリックし、他の2つのオプション(はい(重複OK)*および*はい(重複なし))を選択することで変更できます。
最後のオプション* Yes(No Duplicates)*は、Accessがそのフィールドの重複値を自動的に禁止することを意味します。 姓フィールドのインデックスを作成しましょう。
*LastName* を選択してインデックスを作成し、* Yes(Duplicates OK)*と言いましょう。 保存すると、Accessはそのインデックスを作成します。 テーブルのインデックスを表示および調整できるもう1つの領域は、 *Show/Hide* グループのテーブル設計領域です。
このインデックスボタンをクリックすると、このテーブル用に作成されたすべてのインデックスを表示する特別なビューが表示されます。
tblEmployeesには2つのインデックスがあります。1つは主キーフィールドに基づいて自動的に作成され、もう1つはLastNameフィールドに対して作成したものです。 これらは、Microsoft Accessテーブルのインデックスを処理するさまざまな方法です。