質問

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句とは対照的です。これは、機能の結果がキャッシュされる可能性があるかどうか最適化されたヒントとして機能します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top