昔は、ストアドプロシージャを介してデータベースにアクセスしていました。それらは、データを管理するための「より良い」方法と見なされていました。データはデータベースに保持されており、どの言語/プラットフォームでもJDBC / ODBC/etcを介してデータにアクセスできます。
ただし、近年、Hibernate/DataNucleusなどのランタイムリフレクション/メタデータベースのストレージ取得メカニズムが一般的になっています。最初は、余分な手順が必要であり(リフレクションに費用がかかる)、必要なのが1つのフィールドだけの場合に不要なデータ(オブジェクト全体)を取得する方法が原因で、処理が遅くなるのではないかと心配していました。
J2EEを使用した大規模なデータウェアハウスプロジェクトを計画し始めていますが、ストアドプロシージャとJDO/JPAなどのどちらを使用するかが少しわかりません。最近、私はHibernateを使用していますが、正直なところ、CRUDストアドプロシージャを作成することをお見逃しなく!
それは本質的に次のように要約されます:
ストアドプロシージャ
+サーバー上で最適化できます(ただし、クエリのみ)
-テーブルごとに、追加、削除、更新、getByIdなどの1,000を超えるストアドプロシージャが存在する可能性があります。
JDO
+今後数か月はparameters.add( "@ firstNames"、customer.getFirstName());の作成に費やしません。...-
SPよりも遅くなります(ただし、ほとんどの場合、ページングがサポートされています)
私の状況であなたは何のためにふっくらしますか。この場合、それは非常に重要だと思います。
ありがとう、
ジョン