1

我有必须有一个连接列的巨大表( 300 万条记录)。这个值不会改变。

如何添加基于联接的列?还会有一些其他的查询。如果我使用加入,这将是一个较慢的过程。

前任:

主表:

add_cod | name
 1      | alfa
 2      | beta
 1      | zeta

插件表:

cod | col_ext
 1  | jam
 2  | bam

结果应该是主表,但带有 col_ext 列:

add_cod | name | col_ext
 1      | alfa |   jam
 2      | beta |   bam
 1      | zeta |   jam
4

2 回答 2

2

这是一个简单的JOIN.

SELECT  a.*, b.col_ext
FROM    main a
        INNER JOIN addon b
            ON a.add_cod = b.cod

如果您在表上正确实现了索引,则不必担心性能。

SQLFiddle 演示

于 2012-10-24T15:52:29.090 回答
2

您将使用JOIN

select m.add_cod,
  m.name,
  a.col_ext
from main m
left join addon a
  on m.add_cod = a.cod

请参阅带有演示的 SQL Fiddle

如果您在理解连接方面需要帮助,这里是连接的一个很好的可视化解释

于 2012-10-24T15:53:04.960 回答