Maison > base de données > tutoriel mysql > Colonnes calculées PostgreSQL : quelles alternatives existent ?

Colonnes calculées PostgreSQL : quelles alternatives existent ?

Susan Sarandon
Libérer: 2025-01-21 17:22:09
original
271 Les gens l'ont consulté

PostgreSQL Computed Columns: What Alternatives Exist?

Colonnes calculées PostgreSQL : explorer les alternatives

Les utilisateurs de PostgreSQL posent souvent des questions sur la disponibilité des colonnes calculées, une fonctionnalité courante dans d'autres systèmes de gestion de bases de données tels que MS SQL Server. Bien que PostgreSQL ne prenne pas encore en charge nativement les colonnes calculées, il propose diverses alternatives pour obtenir des fonctionnalités similaires.

Stockage des colonnes générées : PostgreSQL 12 et versions ultérieures

PostgreSQL 12 introduit le concept de stockage des colonnes générées, qui est conforme aux normes SQL et pris en charge par d'autres SGBDR tels que DB2, MySQL et Oracle. Ces colonnes sont créées à l'aide du mot-clé STORED et sont calculées lorsque les données sont récupérées ou insérées.

<code class="language-sql">CREATE TABLE tbl (
  int1    int
, int2    int
, product bigint GENERATED ALWAYS AS (int1 * int2) STORED
);</code>
Copier après la connexion

Colonnes générées virtuellement : PostgreSQL 11 et versions antérieures

Pour PostgreSQL 11 et versions antérieures, les véritables colonnes virtuelles générées ne sont pas prises en charge. Cependant, l'utilisateur peut simuler son comportement à l'aide de fonctions avec notation attributaire. Cette méthode implique l'utilisation de la syntaxe tbl.col, qui imite l'apparence et les fonctionnalités d'une colonne générée virtuellement.

<code class="language-sql">CREATE FUNCTION col(tbl) ... AS ...  -- 您的计算表达式在此处</code>
Copier après la connexion
<code class="language-sql">SELECT tbl.*, col(tbl) FROM tbl;</code>
Copier après la connexion

Alternatives

En plus des méthodes ci-dessus, les utilisateurs de PostgreSQL peuvent également envisager d'autres méthodes pour réaliser des fonctions similaires :

  • Vues : Les vues peuvent être utilisées pour créer des colonnes générées virtuellement, permettant aux utilisateurs de les sélectionner dans les requêtes SELECT *.
  • Index d'expression : Ces index peuvent être créés sur des fonctions qui calculent des valeurs dérivées, offrant ainsi des avantages en termes de performances pour les requêtes impliquant ces valeurs.
  • Vue matérialisée : La vue matérialisée stocke les résultats d'une requête, fournissant un instantané des données à un moment précis.
  • Déclencheurs : Les déclencheurs peuvent être utilisés pour mettre à jour ou insérer des valeurs dérivées dans un tableau.

Bien que PostgreSQL ne prenne pas actuellement en charge les colonnes calculées natives, son ensemble de fonctionnalités flexibles et puissantes fournit diverses solutions pour implémenter des fonctionnalités similaires afin de répondre aux différents besoins de ses utilisateurs.

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