テーブルに行を挿入したいのですが、挿入を行うときに、同時に別のテーブルに別の行を挿入したいと思います。
Androidアプリでこれを行うためのより効率的な方法は何ですか?
1つの行を挿入してSQLが挿入を処理するときにトリガーを実行する方が効率的ですか、それともJavaでdatabase.insert()を使用して2つの挿入を実行する方が効率的ですか?
2番目の行を挿入するために必要な情報は、すでに最初の挿入に含まれています。
ありがとう!
テーブルに行を挿入したいのですが、挿入を行うときに、別のテーブルに同時に別の行を挿入したいと考えています。
データベースレイヤーで動作するため、これを確実に使用してTRIGGER
ください。作成するだけで、何かを実行したときにそれ自体が呼び出されます(トリガーの実装方法によって異なります)。
また、より高速であり、明示的とは呼ばず、データベースを機能させるだけです。データベースでできることはすべて、データベースで実行してください。
アップデート:
したがって、 @Graham Borlandと少し話し合った後、 inserts in も使用できますTRANSACTION
。
Android Database Transaction
を見てください。
そして結論は何が速いですか?
パフォーマンステストを行っていないため正確にはわかりませんが、確かTRANSACTIONS
に最も安全だと思いますが、TRIGGERS
これよりも速いかどうかは正確にはわかりませんが、トランザクションの使用は非常に優れており、データベースへのアクセスを防ぐための主に安全なアプローチです非常に望ましくない誤った状態。