SQLite:UPDATE,我应该索引哪个表?

SQLite:UPDATE,我应该索引哪个表?,sqlite,indexing,sql-update,Sqlite,Indexing,Sql Update,我在下面有一个查询,如果持久性表中的MD5 16char字符串列与Tune表中的MD5列匹配,则更新Tune表 Tune表包含大约50000条记录,执行以下更新大约需要29秒。我假设我可以使用索引来加速这个过程。。实际上,没有WHERE语句的时间是29秒,WHERE语句的时间是17秒,但这仍然是一段很长的时间 UPDATE Tune SET Rating = ( SELECT Rating FROM Persistence WHERE Persistence.MD5=Tune.MD5 LIMIT

我在下面有一个查询,如果持久性表中的MD5 16char字符串列与Tune表中的MD5列匹配,则更新Tune表

Tune表包含大约50000条记录,执行以下更新大约需要29秒。我假设我可以使用索引来加速这个过程。。实际上,没有WHERE语句的时间是29秒,WHERE语句的时间是17秒,但这仍然是一段很长的时间

UPDATE Tune
SET Rating = ( SELECT Rating FROM Persistence WHERE Persistence.MD5=Tune.MD5 LIMIT 1)
WHERE EXISTS ( SELECT Rating FROM Persistence WHERE Persistence.MD5=Tune.MD5 LIMIT 1)
我的问题是:我要在哪个表上创建索引?我是否需要为这两个表创建索引


或者。。有没有更快的方法来完成我想做的事情

我对持久性进行了如下索引-现在我立即返回

CREATE  INDEX PERSISTMD5 ON Persistence (MD5);

UPDATE Tune 
SET Rating = ( SELECT Rating FROM Persistence INDEXED BY PERSISTMD5 WHERE Persistence.MD5=Tune.MD5 LIMIT 1)
WHERE EXISTS ( SELECT Rating FROM Persistence INDEXED BY PERSISTMD5  WHERE Persistence.MD5=Tune.MD5 LIMIT 1 )