MySQL がストアド プロシージャのサポートを開始して以来、私はそれらを実際に使用したことはありません。理由の 1 つは、私が優れたクエリ ライターではないことと、DBA と一緒に仕事をすることが多いためです。DBA は、私に代わってそれらの選択を行います。また、私が知っていることだけに満足しているからです。
データ選択の実行に関して、特に本質的に非正規化 (結合) および集計 (平均または最大、サブクエリ w/カウントなど) である選択を検討する場合、MySQL 5.x で正しい選択は何ですか? ? ビュー?それともストアドプロシージャ?
私が快適に使用できるビュー - SELECT クエリがどのように見えるかを知っているので、それを作成し、インデックスが作成されていることを確認してから、CREATE VIEW [View] AS SELECT [...]
. 次に、私のアプリケーションでは、ビューを読み取り専用テーブルとして扱います。これは、正規化されたデータの非正規化バージョンを表します。
ここでの欠点は何ですか - もしあれば?また、まったく同じ SELECT ステートメントをストアド プロシージャに移動すると、何が変わるでしょうか (利益または損失)。
このトピックをグーグルで検索しているときに見つけるのが困難だった、いくつかの良い「ボンネットの下」の情報を見つけたいと思っていますが、本当にすべてのコメントと回答を歓迎します.