Mysql 我想通过使用适当的索引来优化这个查询
我的cards\u package\u breakup表与任何可以匹配值的表没有直接关系,我希望在内部查询的基础上删除数据。我在列上应用了适当的索引,但没有使用该索引?主要问题是索引。。任何人都可以提供帮助。您写道,您已经有了适当的索引,可以将表彼此关联起来,因此您可以尝试按照以下方式修改查询:Mysql 我想通过使用适当的索引来优化这个查询,mysql,Mysql,我的cards\u package\u breakup表与任何可以匹配值的表没有直接关系,我希望在内部查询的基础上删除数据。我在列上应用了适当的索引,但没有使用该索引?主要问题是索引。。任何人都可以提供帮助。您写道,您已经有了适当的索引,可以将表彼此关联起来,因此您可以尝试按照以下方式修改查询: delete from cards_package_breakup where cards_package_id in (select id from cards_package where
delete from cards_package_breakup
where cards_package_id in
(select id from cards_package where cards_package.cards_id=13);
如果需要,请更正字段名以匹配您的确切模式,但上面的内容将连接您的两个表,并从
cards\u package\u breakup
中删除符合您标准的行。@shoaib。我知道英语不是你的第一语言,但问题有点模糊。你能不能再看一次,让它更简洁一点,告诉我们你的问题到底是什么?。Tai问我在所需列上应用了索引,但它没有使用任何索引。还有其他解释吗?我可以在过程中使用此查询吗,因为使用“in”很昂贵。同一查询有其他替代解决方案吗?不完全,但更新的查询为我提供了线索。我重写了查询。现在它工作正常。谢谢
DELETE FROM cards_package_breakup AS cpb
LEFT JOIN cards_package AS cp ON cp.id = cpb.cardspackage_id
WHERE cpb.cards_id = 13;