SQLストアドプロシージャといくつかの一般的なプログラミング言語で記述されたプロシージャの利点と欠点、より正確には、どの方法がどの状況で好まれるのかを知りたいです。
3 に答える
一般に、ストアド プロシージャはデータベース (ベース) に近いため高速であると言えますが、実際のプログラミング言語の洗練された可能性に欠けています。
ストアド プロシージャにはサーバー上で実行できるという利点がありますが、一般的なプログラミング言語のほとんどはクライアント マシンまたは別のサーバー上で実行されるため、ネットワーク オーバーヘッドが発生します。ただし、プログラミング言語よりも抽象的なレベルで作業します。
これは、ストアド プロシージャが、サーバー上でセット ベースの操作を使用して大量のデータを処理するのに適していることを意味します。重い計算を行う必要がある場合は、一般的にプログラミング言語の方が適しています。
大量のデータから優良顧客を見つけるには、ストアド プロシージャを使用します。
いくつかの大きな素数を見つけて、共通のプログラミング言語を使用します。(SQL以外!)
一般的に言えば、DBMS を変更する場合にコードをすべて変更する必要がないため、できるだけ多くのコードを一般的なプログラミング言語 (PHP、Python など) で記述することは利点となります。
それでも一般的には、複数の言語でアプリを同時に維持するよりも、アプリケーションが多くの DBMS で動作することを確実に望むでしょう :)