MySQL - 機能を作成しますか?SQLデータを変更しますか?
-
12-11-2019 - |
質問
mysql を備えたCREATE FUNCTION
を書いています。関数は、最適化の目的のために作成された一時テーブルだけで、永久テーブルを変更しません。Flag CREATE TEMPORARY TABLE
またはMODIFIES SQL DATA
を使用する必要がありますか?とにかくMODIFIES SQL DATA
またはREADS SQL DATA
フラグを使用するには、本当に利益とは何ですか?
解決
現在の(MySQL 5.5)これらの特性は、コード内の文書としてのみ機能します。 http://dev.mysql.com/doc./refman/5.5/en/create-procedure.html
データの性質に関する情報をいくつか提供する ルーチンによる使用。MySQLでは、これらの特性は諮問のみです。 サーバーはそれらを使用してどのようなステートメントを制限していません。 ルーチンは実行可能になります。
これは
(NON)DETERMINISTIC
句とは対照的です。これは、機能の結果がキャッシュされる可能性があるかどうか最適化されたヒントとして機能します。
所属していません StackOverflow