Maison >base de données >tutoriel mysql >En quoi les colonnes générées stockées MySQL diffèrent-elles des colonnes générées virtuelles MySQL ?

En quoi les colonnes générées stockées MySQL diffèrent-elles des colonnes générées virtuelles MySQL ?

王林
王林avant
2023-08-30 23:45:111017parcourir

MySQL 存储的生成列与 MySQL 虚拟生成列有何不同?

Voici quelques différences fondamentales entre les colonnes générées stockées MySQL et les colonnes générées virtuelles MySQL :

En termes d'espace disque

Si vous le regardez du point de vue de l'espace disque, les colonnes générées virtuelles n'occuperont aucun espace disque. . En revanche, le stockage des colonnes générées occupe de l'espace disque.

En termes d'opérations

Si vous regardez les choses d'un point de vue opérationnel, les colonnes virtuelles générées sont une opération sur place, ce qui signifie que toutes les données n'ont pas besoin d'être recopiées lorsque la définition de la table est modifiée. En revanche, stocker une colonne générée est une opération de copie et son coût est le même que l'ajout d'une nouvelle colonne à la table.

En termes de calculs

Dans les colonnes virtuelles générées, les valeurs sont calculées dynamiquement lors des opérations de lecture et AVANT les déclencheurs. En revanche, dans les colonnes générées stockées, les valeurs sont mises à jour dans chaque instruction INSERT et UPDATE.

Quand utiliser

Nous devrions envisager d'utiliser des colonnes virtuelles dans les données où les changements se produisent fréquemment. Le coût d’une colonne virtuelle vient de la lecture constante du tableau et du fait que le serveur doit calculer la valeur de la colonne à chaque fois. D'un autre côté, nous devrions envisager d'utiliser des colonnes stockées dans des situations où les données ne changent pas de manière significative ou pas du tout après la création.

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer