一般的に、次の構文でステートメントを実行するストアドプロシージャを実行するパフォーマンスの比較を知りたいです。
BEGIN
DECLARE query VARCHAR(5000);
SET @query = " <SQL CODE>";
PREPARE stmt1 FROM @query;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;
END
または直接ASを実行する
BEGIN
<SQL CODE>;
END
私の場合、カスタムLIMITを設定するための入力パラメーターを設定したいので、最初のケースを使用する必要があります。そして、一般的に、パフォーマンスが低下する可能性があるのではないかと思いました。
MySQL情報
- protocol_version 10
- バージョン5.0.95
- version_bdb Sleepycatソフトウェア:Berkeley DB 4.1.24:(2011年12月16日)
- version_commentソース
- ディストリビューションversion_compile_machinex86_64
- version_compile_os redhat-linux-gnu