11

DROP TEMPORARY TABLE IF EXISTS data;上部にチェックがありますが、ストアド プロシージャの最後に追加する必要がありますか? パフォーマンスへの影響はありますか?

CREATE DEFINER=`TEST`@`%` PROCEDURE `TEST`() BEGIN

    DROP TEMPORARY TABLE IF EXISTS data;

    CREATE TEMPORARY TABLE data AS 
...


END;
4

1 に答える 1

15

MySQLでは、データベース接続が閉じられると、一時テーブルは自動的に削除されます。ストアドプロシージャの後で接続を開いたままにする場合は、その接続が閉じられるまで一時テーブルがディスク上に存在します。パフォーマンスへの影響は、サーバーで一時テーブルストレージを構成した方法、テーブルにあるデータの量など、多くの要因によって異なります。

使い終わったらすぐに一時テーブルを削除することをお勧めします。次に、これらの潜在的なパフォーマンスへの影響についての心配をすべて一緒に節約します

于 2012-08-06T20:48:57.590 に答える