SELECT ra.id, inv.id FROM activity ra LEFT JOIN inventory inv ON ra.tag_id = inv.tag_id WHERE ra.status = :status
字符串这是我当前的查询,有时它会很慢,我假设这是由于连接。有没有什么索引可以使这个查询更快?我相信tagid上已经有一个索引了,但它似乎并没有使它更快。
juud5qan1#
你没有告诉我们tag_id索引在哪个表上。如果你在inventory表中还没有tag_id的索引,那么添加它:
tag_id
inventory
CREATE INDEX idx_tag ON inventory (tag_id); -- on InnoDB -- or CREATE INDEX idx_tag ON inventory (tag_id, id); -- on MyISAM
字符串此外,您可以在activity表上添加以下索引:
activity
CREATE INDEX idx_status ON activity (status); -- on InnoDB -- or CREATE INDEX idx_status ON activity (status, id); -- on MyISAM
型
1条答案
按热度按时间juud5qan1#
你没有告诉我们
tag_id
索引在哪个表上。如果你在inventory
表中还没有tag_id
的索引,那么添加它:字符串
此外,您可以在
activity
表上添加以下索引:型