标题:在MySQL中使用具有多对多关系的联接表时,避免检查select语句中的行
我有一个奇怪的情况: 我想查找表a中包含特定标记名的每一项。 类似“Where[…]in”(“x”或“y”)的select语句: 将作为“或”,检查表a和表b中包含“x”和“y”的所有行。 例如: 这只显示了一个结果 正如您在这里看到的,检查了10行 是否有办法只检查包含“x”和“y”的行 “和”语句将导致“不可能的位置”标题:在MySQL中使用具有多对多关系的联接表时,避免检查select语句中的行,mysql,Mysql,我有一个奇怪的情况: 我想查找表a中包含特定标记名的每一项。 类似“Where[…]in”(“x”或“y”)的select语句: 将作为“或”,检查表a和表b中包含“x”和“y”的所有行。 例如: 这只显示了一个结果 正如您在这里看到的,检查了10行 是否有办法只检查包含“x”和“y”的行 “和”语句将导致“不可能的位置” 感谢您的努力!您至少应该在此处复制表数据,外部链接是不可靠的。添加两个索引,显示改进的查询计划;添加两个索引,显示备用查询,将标记相关的表连接两次,这样我们就不会麻烦查看
感谢您的努力!您至少应该在此处复制表数据,外部链接是不可靠的。添加两个索引,显示改进的查询计划;添加两个索引,显示备用查询,将标记相关的表连接两次,这样我们就不会麻烦查看不匹配的项,无论先检查哪个标记(和“第一个”是由优化器决定的,而不是由内部联接查询中的顺序决定的)。非常感谢Michael-sqlbot!解决了这个问题!