Dans la base de données Oracle, lorsque nous supprimons une table, l'espace table qui lui est associé ne sera pas automatiquement libéré, ce qui entraînera une grande quantité de données indésirables dans la base de données, gaspillant ainsi de l'espace de stockage. Par conséquent, après avoir supprimé la table, nous devons libérer manuellement l’espace table occupé. Ensuite, cet article expliquera comment supprimer des tables et libérer l'espace table correspondant dans la base de données Oracle.
1. Deux façons de supprimer une table
Dans la base de données Oracle, nous pouvons utiliser deux façons de supprimer une table :
Utilisez l'instruction DROP TABLE pour supprimer complètement une table. suit :
DROP TABLE table_name;
Parmi eux, table_name est le nom de la table qui doit être supprimée. Il convient de noter que lors de la suppression d'une table, vous devez en être propriétaire ou disposer de l'autorisation DROP ANY TABLE.
L'instruction TRUNCATE TABLE peut supprimer rapidement toutes les données d'une table, mais ne supprime pas la structure de la table. Sa syntaxe est la suivante :
TRUNCATE TABLE table_name;
Il est à noter que l'instruction TRUNCATE TABLE peut. supprime uniquement la totalité des données du tableau, mais ne peut pas supprimer une partie des données du tableau. Par rapport à l'instruction DROP TABLE, l'utilisation de l'instruction TRUNCATE TABLE pour supprimer des données est plus rapide et plus sûre.
2. Supprimez la table et libérez l'espace table
Que vous utilisiez l'instruction DROP TABLE ou l'instruction TRUNCATE TABLE, l'espace table correspondant ne sera pas automatiquement libéré. Par conséquent, nous devons libérer manuellement l’espace table occupé après la suppression de la table. La méthode spécifique est la suivante :
Avant de supprimer la table, nous devons d'abord vérifier l'espace table utilisé par la table cible. Nous pouvons interroger les informations de stockage de la table via l'instruction suivante :
SELECT table_name, tablespace_name, bytes FROM user_segments WHERE segment_type = 'TABLE' AND table_name = 'TABLE_NAME';
Parmi elles, table_name est le nom de la table à interroger. Les résultats de la requête afficheront le nom et la taille de l'espace table occupé par la table.
Avant de supprimer la table, nous devons sauvegarder les données pour une récupération future. Lors de la suppression d'une table, nous pouvons utiliser l'instruction DROP TABLE ou l'instruction TRUNCATE TABLE. Voir ci-dessus pour les méthodes spécifiques.
Après avoir supprimé la table, nous devons libérer manuellement l'espace table lié à la table. Nous pouvons libérer l'espace table via l'instruction suivante :
ALTER TABLESPACE tablespace_name COALESCE;
Où, tablespace_name est le nom de l'espace table qui doit être libéré. Le mot clé COALESCE est utilisé pour réorganiser les fragments d'espace table inutilisés dans un espace contigu plus grand, libérant ainsi l'espace table.
Il convient de noter que si l'espace table est partagé par plusieurs tables, la libération de l'espace table peut entraîner une dégradation des performances des autres tables. Par conséquent, avant de libérer l'espace table, il est préférable de sauvegarder l'espace table pour une récupération future.
3. Résumé
Dans la base de données Oracle, la suppression de tables et la libération de l'espace table sont l'une des opérations importantes pour maintenir les performances de la base de données et l'espace de stockage. Cet article explique comment utiliser l'instruction DROP TABLE ou l'instruction TRUNCATE TABLE pour supprimer une table et montre comment libérer manuellement l'espace table correspondant à l'aide d'exemples. Lors de l'exécution de ces opérations, il faut faire preuve de prudence pour éviter des dommages inutiles à la base de données.
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!