MySQL 是否为复合主键创建单独的索引

标签 mysql

我想为商店客户和每日统计创建表。

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/

相关文章:

MySQL查询恢复

MySQL 使用双重内连接更新性能较差

jquery - 在 jQuery Datepicker 上突出显示 MySql 日期

php - codeigniter 中的更新子句

php - 将值放在升序数据库列之间

mySQL: "Access denied for user ' root' @'localhost"安装软件后

java - MySQL mysqldump from Java code on Win7问题

mysql - 如何在没有组的 MIN() 和 MAX() 的情况下获取项目组的 STDDEV()

javascript - 是否可以从行内容中过滤/分离 PHP 中的 MySQL 数据?

mysql - 关于Mysql中当前日期的比较