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つのフィールドに異なる値が多いが、インデックスが作成されます.