gpt4 book ai didi

mysql - 两列索引 (A,B) 和索引 (B) 为常量时的 A 和 B 指南

转载 作者:太空宇宙 更新时间:2023-11-03 12:33:56 25 4
gpt4 key购买 nike

基于此答案:https://stackoverflow.com/a/2349824/1382306

A 和 B 的用法是否有进一步的指导方针,或者它们是否同等重要?

我有一个 SELECT FROM table1, table2 WHERE table2.table1id = table1.id AND table2.constant = ?

就我而言,我知道吗?来自用户定义的变量。这有什么不同吗,因为它永远不会改变?

我能否碰碰运气并要求解释针对 (A,B) 和 (B) 所使用的逻辑,例如“找到所有具有 A 的 B,然后搜索所有 B”。

非常感谢!

最佳答案

你没有在你的问题中写任何问题,但我假设你想知道你应该使用什么样的索引。

table2 上,你应该在 (constant, table1id) 上有一个索引,在 table1 上你有你的主键 id 无论如何。如果您只从 table2 中选择几列,您也应该将它们包含在索引中。这样 MySQL 就可以直接从索引中回答您的查询,甚至无需加载 table2 的数据。它通过在索引中查找 constant 来做到这一点,它可以这样做是因为 constant 是索引的最左边的列,然后还加载 table1id从指数。如果发生这种情况,您可以在 EXPLAIN 的输出中看到 Using index

关于mysql - 两列索引 (A,B) 和索引 (B) 为常量时的 A 和 B 指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14150630/

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