我一直试图找出为什么我的 SQLite 数据库执行速度相对较慢(插入 1500 条记录需要 4 秒),我认为我已经将其范围缩小到这个查询。有没有办法优化这个?
"INSERT OR REPLACE INTO MainFrame(WID,PName,PAlias,PModel,FriendID, UniverseID, GalaxyID) VALUES
((SELECT WID FROM Worlds WHERE WName= ?),
@pname,
@palias,
@pmodel,
(SELECT FriendID FROM Friend WHERE FriendName = @eFriend),
(SELECT UniverseID FROM Universes WHERE UniverseName = @eUniverse),
(SELECT GalaxyID FROM Galaxies WHERE GalaxyName = @eGalaxy ))";
如您所见,Selects
插入查询中使用了一些。这样做的原因是因为循环将数据插入到其他表(WID
, FriendID
, UniverseID
, GalaxyID
)中,所以在插入之前我没有该数据。我需要将这些数据插入MainFrame
表中,但这感觉像是一种蛮力方法。有什么建议吗?