• 締切済み

Accessのインデックスについて

ACCESSにインデックスというのがありますが、いまいち使い方がわかりません。 検索などが早くなることはわかるのですが、一つのフィールドにインデックスを設定して、そのフィールドを並べ替えたり、検索をかけたりしても、特にインデックス設定前と変わらないのですが・・・ 設定方法や、インデックスの説明を書いてあるものは多いのですが、具体的な使い方が書いてあるものが少ないので、ぜひ、ご存知の方、インデックス設定後の使い方などを教えてください!

  • MRD
  • お礼率25% (42/168)

みんなの回答

  • angband
  • ベストアンサー率51% (86/168)
回答No.1

インデックスのあるなしでレコード検索が体感できるほど 速くなったことを確認するにはかなりたくさんのレコード が必要だと思いますよ。 数十万程度のレコードでも数秒の違いはあるかもしれない ですが、数百万以上レコードがあればかなり違うのが わかると思います。 インデックスを使うという感覚は僕はあまりありません。 どちらかというと設計に関わる部分ですし、DB内部で 自動的に使ってくれますし。

関連するQ&A

  • アクセス インデックスを「はい」 早くなる?

    テーブルのデータが30万近くあるのですが、 テーブルデザインにおいて 出来るだけ多くのフィールドのインデックスを「はい」にしたら、 検索が早くなる効果はありますか? やみくもにインデックスを「はい」にしても、意味はないですか? 目的は検索やクエリの表示を早くすることです。 アクセス2010です。

  • ■検索時にINDEX(インデックス)がどう役立つのか?

    いつもお世話になっております。 MySQLのカテゴリにて質問をさせて頂きますが、このことに意味はありません。 SQLにおける、INDEXの考え方を知ることができれば良いなと思っております。 SQLについては初心者ですので、分かりやすく教えて頂けると助かります。 では、本題へ。 ------------- あるデータテーブルの検索速度を上げる方法として、 INDEXを設定することもその1つに挙げられるかと思いますが、 あるテーブルにおける、ある列(フィールド)に対しINDEXを設定した場合、 検索時、それはどう利用されるのでしょうか、というのが質問です。 例えば、 会員データベース ・会員番号:id ・年齢:age ※その他、複数のフィールドを持つ、とする。 上記の会員データベースにおいて、 CREATE INDEX idx ON tbl_member(id); という風に、tbl_memberテーブルに対し、 会員番号(id)をINDEXに設定したとします、 idは唯一無二の(ユニークな)データです。 この会員テーブルにおいて、 年齢(age)フィールドをもとに、40歳以上の会員を抽出(検索)したい場合、 INDEX(idが設定されている)はこの検索において、 どういう仕組みで活かされることになるのでしょうか? ageと無関係のidが、どう役に立つのか分からずにいる、ということです。 ネット上で色々調べたのですが、 あるフィールドをINDEXに設定した場合に、 それが検索時にどう活かされるのかについて説明されているページを 私は見つけることができませんでしたので、質問させて頂きました。 どうぞ、宜しくお願い致します。

    • ベストアンサー
    • MySQL
  • 2つのインデックスと複合インデックスの違い

    Accessで 顧客IDと顧客名を含むテーブルがあったとします。 そこで 1.顧客IDのインデックスと顧客名のインデックスの2つのインデックス 2.顧客ID、顧客名の順番で定義した複合インデックス 2つの違いが分かりません。 インデックスといえば、 固有インデックス(主キー)とプロパティで設定するインデックスの知識しかないのですが、 たぶん、1.のほうは、 両方のフィールドとも、検索時のパフォーマンスが向上して、 2.のほうは 顧客IDだけ? と、想像するのですが・・ 2つのインデックスと複合インデックスの設定の仕方も分からないので、どこを使って設定するのか教えてください。

  • インデックスの順序

    Accessのテーブルにおいて、 インデックスを設定する画面で順序を変更しても反映されません。 どうすれば順序が変更できるようになるのでしょうか? また、インデックスを設定する順番において何か違いがあるのでしょうか? (現在とあるテーブルの3つのフィールドにそれぞれインデックスを張っていますが、 テーブルを表示したときに、何故か2番目のフィールドが基準に表示されています)

  • index.htmlからindex.phpへ

    .htaccessファイルを使ってトップページ(index.html)にアクセスした時に(index.php)に移動できるようにして(index.php)が、トップページに変わるようにしたいのですが方法が分かりません。 借りているサーバーは対応するようです。 自分でも検索してみましたがよく分かりませんでしたので質問しました。 ご存知の方がいれば教えてほしいです。 よろしくお願いします。

    • 締切済み
    • PHP
  • インデックスがすぐに壊れます…

    テーブル内の1フィールドにインデックスを設定していますが、内容が頻繁に更新されるせいか1日前後でインデックスが破損し、テーブルへのアクセスができなくなって困っています。 以下、詳細な状況です。 ------------------------------------------ (1)該当テーブルのレコード数は、約16,000,000件 (2)インデックスは[レコード更新日時]フィールドに設定しています。 (3)15分おきにデータの自動更新を行い、数百~数千件のレコードが更新されます。 その際、当然ながら[レコード更新日時]フィールドも更新されます。 (4)1日~2日に1度の割合で(3)の自動更新処理が異常終了します。 SQLのエラーコードはまちまちですが、重要度は決まって20前後の深刻なレベルです。 (5)(2)のインデックスを削除→再作成すると、(3)の自動更新処理は正常に行える (6)以下、(3)~(5)の繰り返し ------------------------------------------ 16,000,000件のうちの数千件といえば、0.1%にも満たない量です。そのために頻繁にインデックスの更新をしているうちにファイルがおかしくなるのでしょうか? (ひょっとしたら、インデックスの更新が完了しないうちに次の自動更新処理が実行されているのかもしれません) 同様のケースをご存知の方、いらっしゃいましたらどのように解決したかを教えてください。

  • index.htmlにアクセスさせない方法

    もともとトップページがexample.com/index.htmlだったのですが、wordpressを取り込んだことで、example.com(またはindex.php)となりました。 従来の、index.htmlにアクセスされると表示されないため、index.htmlにアクセスしてきた人は、自動的にexample.comの方に飛ばしたいのですが、何かいい方法はありますでしょうか。 ただし、初めのディレクトリのindex.htmlを消してしまうと、表示されなくなってしまいます。.com/一本にしたいのですが、何かいい方法はございますでしょうか。

    • ベストアンサー
    • PHP
  • 複数のインデックスの貼り方

    MySQL5.1をUNIX上で使っています。 インデックスの貼り方について教えて下さい。 参照も更新もする膨大な量のテーブルに、 FIELD_1 FIELD_2 FIELD_3 FIELD_4 FIELD_5 FIELD_6 とありまして、FIELD_1とFIELD_2にPRIMARYキーを付けています。 それで、検索用に、 FIELD_1+FIELD_2+FIELD_3のインデックス と FIELD_1+FIELD_2+FIELD_4のインデックス を付けています。 PRIMARYまで含めると、Indexとなりうるものが、3つあり、どれもFIELD1とFIELD2が重複しておりますが、このようなインデックスの貼り方で宜しいでしょうか? 重複しているのが気になるのですが、これしかやり方が思いつきませんでした。 アドバイス頂けると助かります。宜しくお願いします。

  • アクセス2003 インデックスについて 

    「フィールド名」 委託会社No. …インデックス「はい(重複あり)」 車輌種類  …インデックス「いいえ」 となっています。 理解できないのは、車輌種類も「重複あり」なのに、なぜ「いいえ」を 選択しているのか?ということです。 委託会社No.のほうが圧倒的に重複数は多いですが。。。。 ご教示よろしくお願い致します。

  • アクセスの検索で、「探す場所」の初期値を変更したい

    アクセス初心者です。アクセスのバージョンはoffice365です。 現在、アクセスで検索する際、「探す場所」の初期値が「現在のドキュメント」になっていますが、「現在のフィールド」を初期値に変更したいです。 詳しく説明すると、アクセスのテーブル・クエリ・フォームなどで、ホームの虫メガネアイコン または ショートカットキーctrl+fで出て来る、「検索と置換」ウインドウの「探す場所」の初期値を「現在のフィールド」に変更したいです。 検索の度に「探す場所」を変更するのが面倒なので、設定方法をご存知でしたら教えてください。 よろしくお願いします。

専門家に質問してみよう