Maison > base de données > tutoriel mysql > Comment créer efficacement des tables temporaires dans PostgreSQL ?

Comment créer efficacement des tables temporaires dans PostgreSQL ?

Patricia Arquette
Libérer: 2025-01-03 03:45:39
original
928 Les gens l'ont consulté

How to Efficiently Create Temporary Tables in PostgreSQL?

Création de tables temporaires en SQL

Lorsqu'ils tentent de créer une table temporaire en sélectionnant des données basées sur un type de registre spécifique, les utilisateurs peuvent rencontrer des erreurs. Pour résoudre ce problème, il est crucial de comprendre la syntaxe correcte et ses limites.

Dans PostgreSQL, des tables temporaires peuvent être créées à l'aide de la syntaxe CREATE TEMP 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;
Copier après la connexion

Les tables temporaires agissent comme des instantanés statiques des données et résident dans la RAM si le paramètre temp_buffers le permet. Elles sont spécifiques à la session et disparaissent à la fin, à moins qu'elles ne soient créées avec ON COMMIT DROP, qui les supprime à la fin de la transaction.

Alternativement, les tables temporaires peuvent être créées dynamiquement à l'aide de CREATE VIEW. Cependant, leur comportement et leur utilisation diffèrent considérablement des tables temporaires statiques.

Bien que le standard SQL inclut SELECT INTO pour la création de tables temporaires, son utilisation est déconseillée au profit de CREATE TABLE AS . De plus, CREATE TABLE LIKE (...) copie uniquement la structure de la table et aucune donnée, tandis que les tables dérivées dans les CTE ou les sous-requêtes offrent moins de surcharge pour l'utilisation temporaire des données dans une seule requête.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal