2016-11-15 1 views
0

2つのデータベースが接続されている場合は、それぞれに別々の接続を持つ場合と比べてパフォーマンスが低下しますか?また、添付されたデータベースのいずれかにデータを書き込んでいた場合、両方のデータベースがロックされるか、または書き込まれたデータベースだけがロックされますか?アタッチ - 支払う価格はありますか?

私が尋ねる理由は、各データベースを接続/切断する1つの接続を必要に応じて/冗長にするよりも、各接続を常に開いたり閉じたりするよりも簡単です。私のアプリにはスレッドがありません。

答えて

0

トランザクションは、接続されているすべてのデータベースに対してアトミックです。これには、実際のデータベースのすべての通常のロールバックジャーナルに加えて別のmaster journalを作成する必要があります。

データベースが接続されている場合、テーブル名(およびPRAGMA statements)でデータベース名が追加されることがあります。

このため、ATTACHは通常、同じクエリで複数のデータベースにアクセスする必要がある場合にのみ使用されます。

関連する問題