【发布时间】:2021-05-09 10:11:45
【问题描述】:
假设我有三个表:
客户(CustomerID、出生日期、城市、地址、电话、销售、 性)
购买(CustomerID、ItemID、日期)
商品(商品ID、描述、颜色、价格、供应商、库存)
所以,cutomerID 是 Customer 的主键,ItemID 是 Item 的主键,(CustomerID, ItemID, Date) 是 Purchase 表的复合主键。
据我所知,没有必要在主键上应用索引(在这种情况下,表 1 的 customerID 和表 3 的 ItemID),因为 mysql 会自动执行此操作。
复合主键呢?
我应该在复合 pk(CustomerID、ItemID、Date)上应用唯一索引吗?或者最好在三列上添加单独的非唯一索引(因此,customerID 上的非唯一索引、ItemID 上的非唯一索引和 dateID 上的非唯一索引)?
考虑到这三个表的数据非常丰富,需要很多连接
【问题讨论】:
标签: mysql sql database indexing