假设我有两张桌子,
为了提问,我们假设它们是两个名为customers
和cars
的表。
Customers
id name age
Cars
id customer_id brand_id engine cc
我们需要索引customer_id吗?它有什么优势吗?
答案 0 :(得分:1)
是的,您可能想要加入customers表,您需要在customer_id上放置一个索引,以便更快地完成查找。
但是就像评论中所说的那样,这取决于,如果你不打算加入customers表(或者在它上面做一个WHERE / GROUP BY / ORDER BY等)并且纯粹使用它会显示id,它不是necassery。
答案 1 :(得分: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
更一般地说,索引外键约束总是一个好主意。
答案 2 :(得分:1)