如何改善以下查询的效果? 我应该使用什么样的索引? 我正在使用MySQL
SELECT b.title
FROM book b, person p, order o
WHERE b.bid = o.bid
AND o.pid = p.pid
AND b.title LIKE 'LOVE%';
答案 0 :(得分:0)
您应该查看how MySQL uses indexes。
如果是您的查询:
b.bid
,o.bid
,o.pid
和p.pid
上的索引,因为它们用于连接表格。您甚至可以考虑使用外键。b.title
上的索引,因为你在where where子句中使用它。但是,如果您想知道更改如何影响您的查询,您应该在每次更改之间进行分析,以检查它对性能的影响。
但是,我会要求您详细说明您的查询 - 您正在加入表order
和person
,但既不从这些表中选择也不在where子句中使用这些表。您是否只是选择已订购的书籍?在这种情况下,为什么然后加入person
?