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
ますが、これは力ずくのアプローチのように感じます。何かアドバイス?