1

2つのテーブルがあるとしましょう。

customers質問のために、それらが とと呼ばれる 2 つのテーブルであると仮定しましょうcars

Customers
id   name    age

Cars
id   customer_id  brand_id   engine    cc 

customer_id にインデックスを付ける必要がありますか? それは何か利点がありますか?

4

3 に答える 3

1

強調したいのはInnoDB、外部キー列に自動的に作成されたインデックスです。innodb-foreign-key-constraintsを参照してください

あなたの場合customer_id、外部キー制約が適用されている場合。

于 2013-10-23T09:41:03.887 に答える
1

アプリケーションのビジネス ロジックとベースのクエリ方法に応じて、customer_id にインデックスを設定すると、次のようなクエリで大きな利点が得られます。

select * from customers join cars on customer_id = customers.id -- list all customers with their associated cars

あるいは

select * from cars where customer_id = 2 -- list all cars for user 2

より一般的には、外部キー制約にインデックスを付けることは常に良い考えです。

于 2013-10-23T09:38:50.170 に答える