首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >两列索引(A,B)和索引(B)的A和B准则

两列索引(A,B)和索引(B)的A和B准则
EN

Stack Overflow用户
提问于 2013-01-04 11:20:01
回答 2查看 120关注 0票数 0

基于这个答案: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”。

首先要感谢大家!

EN

Stack Overflow用户

回答已采纳

发布于 2013-01-04 11:48:37

隐藏在另一个受欢迎的帖子https://stackoverflow.com/a/4120191/1382306中,它看起来像

“在处理覆盖索引(多个列上的索引)时,查询需要解决列的顺序,在索引列定义中从左到右。语句中的列顺序无关紧要,只有列1、2和3的列顺序才能使用-语句在使用索引之前需要引用列1。如果只引用列2或3,则不能使用1/2/3的覆盖索引。

在MySQL中,查询中的每个SELECT/语句只能使用一个索引(子查询/等被视为单独的语句)。而且MySQL允许的每个表的空间量是有限制的。此外,在索引列上运行函数会使索引无用。

在这个答案中也有一个很好的索引陷阱列表。

在我的例子中,由于“在查询中每个表只能使用一个索引”,我猜应该只使用(?,SELECT_2.table1id)。

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14150630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档