gpt4 book ai didi

php - MySQL中的外键索引

转载 作者:行者123 更新时间:2023-11-30 22:27:24 24 4
gpt4 key购买 nike

我有简单的代码。

CREATE TABLE foo (

client_id int,
order_id int,

PRIMARY KEY (client_id, order_id),
INDEX (order_id),

FOREIGN KEY (client_id) REFERENCES baz(id),
FOREIGN KEY (order_id) REFERENCES bar(id)

);

我知道MySQL会自动给有主键的列加索引,但是如果我有复杂的主键怎么办? (我的代码中的示例)。为什么我必须将索引添加到主键的第二列?我认为 MySQL 只会为第一列自动添加索引,但第二列、第三列……我必须手动添加此约束吗?官方文档有答案吗?

最佳答案

你可以引用链接 http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html

如果任何表具有多列索引,例如:(col1, col2, col3),那么您可以拥有(col1) 的搜索功能,(col1, col2), 和(col1, col2, col3)

如果搜索没有在索引上形成最左前缀,则永远不会使用该索引,在本例中为 col1

因此您需要将 col1 作为前缀,并且使用 col2,col3 进行搜索不会使用索引

你可能需要一个不同的索引,所以你必须单独索引 col2

关于php - MySQL中的外键索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34825009/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com