mysql結合プライマリ・キーの役割インデックスの役割

1714 ワード

       2  2          。              ,            ,       。
      ,  ,           ,           bill_no       ,  ,         
   ,        ,                ,      。              bill_seq 
    。 bill_no bill_seq      。  bill_no  ,bill_seq       。

alter table   add constraint pk_name primary key ( 1, 2,...)
                                              ID        ID 
                 ,       ,        ID     ,          ,     
      ,      ID            ,         。

                 
 
      
         
           920
           NOTE2
           8088
 
             ,     ,                    
   ,        920    ,          920   
 
                      
 

インデックスとは?インデックスを作成する理由
インデックスは、あるカラムに特定の値を持つローをすばやく見つけるために使用されます.インデックスを使用しないでください.MySQLは、最初のレコードからテーブルを完全に読む必要があります.関連するローを見つけるまで、テーブルが大きいほど、データを検索するのにかかる時間が多くなります.テーブルにクエリーされたカラムにインデックスがある場合、MySQLはすべてのデータを表示する必要がなく、データファイルを検索する場所にすばやく到達することができます.そうすると、時間が大幅に節約されます.
例えば、Personテーブルがあり、その中に2 Wのレコードがあり、2 Wの個人情報が記録されています.Phoneのフィールドに一人一人の電話番号が記録されています.今、電話番号がxxxxの人の情報を調べたいです.
インデックスがない場合は、その情報が見つかるまで、テーブルの最初のレコードから1つ下を巡回します.
インデックスがあれば、Phoneフィールドは、2 Wのデータを巡回することなく、一定の方法で格納されます.このうちMySQLにおけるインデックスの格納タイプはBTREE,HASHの2種類である.つまり、このフィールドをツリーまたはHash値で格納し、詳細がどのように検索されているかを知るには、アルゴリズムの知識が必要です.インデックスの役割、機能を知るだけでいいです.
使用原則:
1、頻繁に更新されるテーブルに対して、あまり多くのインデックスを行わないようにし、クエリーによく使用されるフィールドに対してインデックスを作成しなければならない.
2、データ量の少ないテーブルはインデックスを使用しないほうがいいです.データが少ないため、すべてのデータをクエリーするのにかかる時間がインデックスを遍歴する時間よりも短く、インデックスが最適化されない可能性があります.
3、同じ値の少ない列(フィールド)にインデックスを作成しないでください.たとえば、学生表の「性別」フィールドには男性と女性の2つの異なる値しかありません.逆に、1つのフィールドに異なる値が多いが、インデックスが作成されます.