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