gpt4 book ai didi

MySQL 组合键最佳实践

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

我想这是一个性能问题。

创建组合键时顺序重要吗?

在我的实例中,复合键是使用一个名为 hash 的 128 位字符和一个名为 user_id 的外 (int) 键创建的。

例如 (hash, user_id) 会比 (user_id, hash) 快吗?

例如,如果在连接中使用复合键,它会变慢吗?

CREATE INDEX composite_hash_user_id_index ON `user_false_positives` (`hash`, `user_id`);

最佳答案

复合键的顺序很重要。 MySQL 使用最左边的索引,因此它取决于您要运行的查询。你可以做一个覆盖索引。在 (a,b) 上创建一个索引,然后单独在 b 上创建另一个索引。关于索引有很多注意事项。阅读下面的幻灯片 http://www.percona.com/sites/default/files/presentations/PMU-Bueno-Aires-2013-MySQL-Indexing-Best-Practices.pdf

最左边的索引示例:如果您在 (a,b) 上有索引并运行

SELECT * FROM table ORDER BY a

它将使用索引但是

SELECT * FROM table ORDER BY b

没有。因此单独在 b 上设置另一个索引将确保在对数据进行排序时使用该索引。

关于MySQL 组合键最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22047044/

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