如何为连接指定特定列?

时间:2013-02-27 20:34:51

标签: mysql sql

我正在尝试使用不同表中列的数据更新表中的列。我的代码是:

UPDATE extlinks
INNER JOIN sp_board using (title)
SET extlinks.board_id = sp_board.id

我的问题如下:两个表都非常大(数百万行),我想如果我只合并必要的列,我可以加速更新。如何指定连接应仅包含上面代码中的列?

1 个答案:

答案 0 :(得分:2)

这由RDBMS如何实现Relational Algebra

来处理

简而言之,服务器只会根据需要“实现”。这里没有问题,在SQL中说“只在连接中包含X列”是没有意义的 - 可以认为列不包含,除非以后需要它们(常见的) case是一个将结果发送给客户端的SELECT)。在这种情况下,实际上只需要sp_board.id列。

然而,请注意Rocket Hazmat的评论 - 它围绕着记录的实现(而不是列) - 因为它提出了一个非常有趣的问题。我不知道答案是什么。