2

同じ mysql データベースを使用する Java GUI と Web アプリケーションを作成しています。

これは、すべての情報が入力に応じて動的に保存および取得される DTh 管理システムです。

ビューは本質的に静的であり、すべてのクエリの where 条件 (ユーザー ID) が異なるため、役に立たないと思います。

トリガーを使用する必要がありますか? 組み込みのトリガーを使用する代わりに、Java をコーディングして複数のステートメントを実行できることを意味します (たとえば、顧客名と家族名の両方に挿入すると、家族の頭のコピーが複製されます)。パフォーマンス ヒットはありますか?私は何か間違っていますか?

また、ストアド プロシージャの使用とは何ですか? Java のメソッドを使用してすべてを実行することはできませんか?

そこで、計算を多用するすべてのものを、SQL ではなく Java と Web スクリプトに移行することは可能でしょうか。はいの場合、これは、データベースのバックエンド構造 (つまり、すべての異なるテーブルと FK、PK) を作成するだけで済み、mysql ワークベンチで SQL を使用せずに休む必要があるということですか?

助けてくれてありがとう。

4

2 に答える 2

1

(いつものように)1つの正しい答えがあります:それは異なります。

一部のデータのみを表示およびクエリする場合は、トリガーまたはストアドプロシージャはおそらく必要ありません。

ビューは別のものです。結合テーブルなどへの静的なビューが必要な場合は、ビューが非常に役立ちます。これが必要ない場合は、使用しないでください。

キーは本当に重要です。それらはあなたのデータを間違った入力に対して頑強にします。

使用する必要があるのは、の代わりにPrepearedStatementStatementです。sのみを使用する場合は、 SQLインジェクションPreparedStatementの問題で(ほぼ?)安全です。

于 2013-01-31T08:37:12.380 に答える
1

ビューを使用するのは、選択クエリよりも高速であり、データを表示するだけ (編集更新ではない) の方が高速で望ましいためです。

トリガーはデータベース側で起動されるため、1 回の実行で 2 つ以上のクエリを実行するだけなので高速です。

単一のデータベース接続で複数のクエリを実行できるため、ストアド プロシージャでも同じです。異なるクエリを実行すると、データベース接続の実行ごとに時間がかかります (データベース サーバーの検索、認証、データベースの検索など)。

于 2013-01-31T09:32:23.010 に答える