我想为商店客户和每日统计创建表。
customer_stat 表 - (PK)on_date - (PK)customer_id - (PK)margin_id - (PK)agent_id
搜索场景: - 通过复合所有主键进行搜索 - 按 customer_id 搜索 - 按 margin_id 搜索 - 按agent_id + margin_id搜索
从上面的场景来看,我应该为每个键列创建单独的索引还是mysql已经为我自动创建每个键的索引?
最佳答案
我找到了测试这个概念的解决方案。 我使用复合键按照上述结构创建表,然后测试插入数据库。然后查看数据库表结构,发现:
MySQL为复合主键创建单一索引。
所以我需要手动创建每列的单独索引,以便通过复合键中的部分键进行查询。
关于MySQL 是否为复合主键创建单独的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43673505/