regexp查询的SQL索引

时间:2012-08-19 20:36:43

标签: mysql

如何改善以下查询的效果? 我应该使用什么样的索引? 我正在使用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%';

1 个答案:

答案 0 :(得分:0)

您应该查看how MySQL uses indexes

如果是您的查询:

  • 我特别推荐b.bido.bido.pidp.pid上的索引,因为它们用于连接表格。您甚至可以考虑使用外键。
  • 我还会考虑b.title上的索引,因为你在where where子句中使用它。

但是,如果您想知道更改如何影响您的查询,您应该在每次更改之间进行分析,以检查它对性能的影响。

但是,我会要求您详细说明您的查询 - 您正在加入表orderperson,但既不从这些表中选择也不在where子句中使用这些表。您是否只是选择已订购的书籍?在这种情况下,为什么然后加入person