mysql - 对于 m :n-relationship? 我应该在 MySQL 中使用哪些索引

标签 mysql indexing

我有两个表,a 和 b,并且想要在列之间创建 m:n 关系。
当然,我创建了第三个表 ab,其中包含 a_id 和 b_id 列。

由于所有对都应该是唯一的,因此我在两个字段上创建一个主索引,并为每个字段创建一个 btree 索引。 现在我在一个只有 2 个字段的表上有 3 个索引,我认为这太过分了。 这两列的索引是否确实需要,或者 MySQL 是否以特殊方式处理此类情况?

最佳答案

(a_id, b_id) 上的主索引也将仅涵盖对 a_id 的搜索,因此无需单独为 a_id 建立索引。

关于mysql - 对于 m :n-relationship? 我应该在 MySQL 中使用哪些索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5261819/

相关文章:

mysql - 因帕拉/SQL : Can I have different time-period for each group?

c# - 索引 SQL 表会提高 LINQ 语句的性能吗?

python - 创建一个新列,将相同的索引分配给Pandas DataFrame中的重复值

php - CodeIgniter 3 MySQL - 验证用户密码不起作用

php - 用户登录无效,查询问题(PDO、MySQL、PHP)

python - 在 Python(还有 MySQL)中使用 C/C++ 进行繁重的计算

mysql - 在相互引用的表中使用外键的正确方法是什么

sql-server - 索引 View 上的 SQL Server 列存储聚集索引

xcode - 如何在 Xcode 4 中禁用索引?

r - InvalidArgumentError : indices[127, 7] = 43 不在 Keras R 中的 [0, 43) 中