ホームページ > データベース > mysql チュートリアル > SQL で一時テーブルを効率的に作成してデータを追加するにはどうすればよいですか?

SQL で一時テーブルを効率的に作成してデータを追加するにはどうすればよいですか?

DDD
リリース: 2025-01-02 19:13:41
オリジナル
632 人が閲覧しました

How Can I Efficiently Create and Populate a Temporary Table in SQL?

SQL での一時テーブルの作成: 概要

クエリの目的は、'temp1' という名前の一時テーブルを作成し、そこにデータを設定することです。特定の 'register_type' ('%gen%') があります。ただし、この問題は、「CREATE TABLE AS」ではなく「CREATE TABLE」を使用することで発生します。

正しいアプローチ

一時テーブルを作成してデータを設定するにはクエリからのデータを使用する場合は、「CREATE TABLE AS」を使用する必要があります。

CREATE TEMP TABLE temp1 AS
SELECT dataid
     , register_type
     , timestamp_localtime
     , read_value_avg
FROM   rawdata.egauge
WHERE  register_type LIKE '%gen%'
ORDER  BY dataid, timestamp_localtime;
ログイン後にコピー

このコマンドは、一時テーブルをメモリ内に作成し、クエリからの結果の行をそのテーブルに設定します。これは通常のテーブルに似ていますが、RAM 内に存在します。

PostgreSQL の一時テーブルについて

一時テーブルは現在のセッション内に表示され、セッションが終了すると消えます。あるいは、'ON COMMIT DROP' を指定して、トランザクションの終了時にテーブルを消去することもできます。

一時テーブルの代替手段

動的一時テーブルの場合は、使用を検討してください。 「CREATE VIEW」は、継続的に最新のデータのスナップショットを提供します。ただし、静的スナップショットには「CREATE TABLE AS」が推奨されます。

「SELECT INTO」でも一時テーブルを作成できますが、推奨されないと考えられています。代わりに、「CREATE TABLE AS」を使用してください。 「CREATE TABLE LIKE」はテーブル構造のみをコピーし、データはコピーしません。

単一のクエリ内でのみ使用される一時テーブルの場合、CTE またはサブクエリの「派生テーブル」が軽量の代替手段となります。

以上がSQL で一時テーブルを効率的に作成してデータを追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート