【问题标题】:sqlite join VS. selectsqlite 加入 VS。选择
【发布时间】:2014-08-14 07:25:09
【问题描述】:

我在使用 sqlite3 加入记录时遇到了一些问题。我有两个表:tableA 和 tableB。 tableA 有 col1 和 col2 列,而 tableB 有 col3 和 col4。我想根据 col2 和 col3 中的信息将 col4 加入 tableA。所以我在 tableA 中添加了另一列 col 5 并尝试:

UPDATE tableA
SET col5 = 
(SELECT col4 from tableB
WHERE tableA.col2 = tableB.col3);

我的 tableA 大约有 300,000 行,而 tableB 超过一百万行,这需要很长时间才能运行。
我知道有一种方法可以使用 JOIN 子句来做同样的事情。所以我的问题是:
1.重要吗?如果我使用 JOIN,它会运行得更快吗?
2. 你如何使用连接来做到这一点?
3. 还有其他方法可以提高性能吗?
非常感谢!

【问题讨论】:

    标签: sql sqlite join


    【解决方案1】:

    SQLite 不支持 UPDATE 语句中的连接(仅在子查询中,但这在这里没有意义)。

    即使支持连接,它们的实现方式也将与您的查询相同(并具有相同的性能)。

    为了加快查询速度,tableB 行的 col3 值查找需要变得更快。 为此,请在 col3 列上创建索引。

    【讨论】:

    • 谢谢!这真的很重要!
    猜你喜欢
    • 2022-12-11
    • 2013-05-27
    • 1970-01-01
    • 2010-12-05
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 1970-01-01
    • 2011-08-07
    相关资源
    最近更新 更多