【发布时间】:2011-09-22 19:37:52
【问题描述】:
我必须在联接中引用的列上创建索引吗? 例如
SELECT
*
FROM
left_table
INNER JOIN
right_table
ON
left_table.foo = right_table.bar
WHERE
...
我应该在 left_table(foo)、right_table(bar) 还是两者上创建索引?
当我使用带和不带索引的 EXPLAIN (Postgresql) 并切换比较顺序时,我注意到了不同的结果
(right_table.bar = left_table.foo)
我确定索引用于 WHERE 子句的左侧,但我想知道是否需要 ON 子句中列出的列的索引。
【问题讨论】:
标签: sql sql-server database-design postgresql query-optimization