Dans les applications volumineuses, l'archivage et l'archivage des données sont essentiels au maintien des performances des bases de données Oracle. En archivant les anciennes données dans des tables dédiées, la quantité de données dans la table principale peut être efficacement réduite, améliorant ainsi la vitesse de réponse aux requêtes. Cet article partagera des méthodes pratiques pour combiner PHP avec la base de données Oracle pour réaliser l'archivage des données et fournira des exemples de code complets.
Dans Oracle, nous pouvons utiliser l'instruction CREATE TABLE pour créer une table d'archive pour stocker les données archivées. Les exemples sont les suivants :
CREATE TABLE données_archives ( NUMÉRO D'IDENTIFICATION, nom VARCHAR2(50), date_créée DATE );
Afin de réaliser un archivage automatique, vous pouvez créer un déclencheur pour la table principale afin de la synchroniser avec la table d'archive lorsque les données sont supprimées ou mises à jour :
CRÉER OU REMPLACER TRIGGER archive_trigger APRÈS LA SUPPRESSION OU LA MISE À JOUR DE la date_créée SUR la table_main POUR CHAQUE LIGNE COMMENCER INSERT INTO archive_data (id, nom, date_créée) VALEURS (:old.id, :old.name, :old.created_date); FIN;
Tout d'abord, vous devez vous connecter à la base de données Oracle en utilisant PHP :
<?php $conn = oci_connect('username', 'password', 'database'); if (!$conn) { $e = oci_error(); trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR); } ?>
Vous pouvez exécuter des instructions SQL via PHP pour déplacer ou supprimer des données expirées :
<?php $sql = 'DELETE FROM main_table WHERE created_date < SYSDATE - 365'; $stmt = oci_parse($conn, $sql); if (!$stmt) { $e = oci_error($conn); trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR); } $result = oci_execute($stmt); if (!$result) { $e = oci_error($stmt); trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR); } ici_free_statement($stmt); ?>
Les données des tables d'archives peuvent être interrogées à l'aide de PHP :
<?php $sql = 'SELECT * FROM archive_data'; $stmt = oci_parse($conn, $sql); if (!$stmt) { $e = oci_error($conn); trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR); } $result = oci_execute($stmt); if (!$result) { $e = oci_error($stmt); trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR); } while ($row = oci_fetch_array($stmt, OCI_ASSOC)) { echo $row['ID'] . ", " . $row['NAME'] . ", " . $row['CREATED_DATE'] . "<br> " ; } oci_free_statement($stmt); ?>
En combinant PHP avec la base de données Oracle, les fonctions d'archivage et d'archivage des données peuvent être réalisées efficacement, optimisant les performances de la base de données et améliorant la vitesse des requêtes. Dans des applications pratiques, des stratégies d'archivage peuvent être formulées en fonction de l'horodatage des données, de leur importance, etc. Les exemples de code fournis dans cet article peuvent être utilisés comme référence pour la mise en œuvre de l'archivage et aider les développeurs à créer rapidement un processus d'archivage.