Il existe des différences, ce sont les suivantes : 1. MySQL soumet automatiquement les transactions, Oracle les soumet manuellement ; 2. Au niveau de l'isolement, MySQL est "lu validé" et Oracle est "lu répétable" ; 3. MySQL est léger et gratuit. est robuste et facture des frais.
L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.
La différence entre MySQL et Oracle
(1) Soumission des transactions
MySQL par défaut est la soumission automatique, tandis qu'Oracle ne soumet pas automatiquement par défaut et demande à l'utilisateur de soumettre manuellement. Vous devez écrire. la commande commit ; ou cliquez sur le bouton de validation
(2) Requête de pagination
MySQL écrit directement "sélectionner... à partir de ...où...limite x, y" dans l'instruction SQL Avec limite, la pagination peut. être atteint
Et Oracle Vous devez utiliser des pseudo-colonnes ROWNUM et des requêtes imbriquées
(3) Niveau d'isolement des transactions
MySQL est le niveau d'isolement des lectures validées, tandis qu'Oracle est le niveau d'isolement des lectures répétables, et les deux prennent en charge sérialisation sérialisable Le niveau d'isolement des transactions peut atteindre le plus haut niveau de cohérence de lecture. Ce n'est qu'après la soumission de chaque session que les autres sessions peuvent voir les modifications soumises. Oracle obtient la cohérence de lecture en construisant des blocs de données multi-versions dans l'espace table d'annulation. Lorsque chaque session est interrogée, si le bloc de données correspondant change, Oracle construira l'ancienne version de requête pour cette session dans l'espace table d'annulation
. MySQL ne dispose pas d'un mécanisme similaire à Oracle pour construire des blocs de données multi-versions et ne prend en charge que le niveau d'isolation des lectures validées. Lorsqu'une session lit des données, les autres sessions ne peuvent pas modifier les données, mais elles peuvent insérer des données à la fin du tableau. Lorsqu'une session met à jour les données, un verrou exclusif doit être ajouté. Les autres sessions ne peuvent pas accéder aux données
(4) Prise en charge des transactionsMySQL ne peut prendre en charge les transactions qu'avec le verrouillage au niveau de la ligne du moteur de stockage innodb, tandis qu'Oracle peut Prend entièrement en charge les transactions
(5) Durabilité des données enregistréesMySQL perdra les données lorsque la base de données est mise à jour ou redémarrée. Oracle écrit la ligne d'opération SQL soumise dans le fichier journal en ligne et la conserve sur le disque. être restauré à tout moment
(6) ConcurrenceMySQL utilise principalement des verrous au niveau de la table, et la granularité du verrouillage des ressources est très grande. Si une session verrouille une table trop longtemps, les autres sessions ne pourront pas se mettre à jour. ces données dans le tableau. Bien que les tables du moteur InnoDB puissent utiliser des verrous au niveau de la ligne, ce mécanisme de verrouillage au niveau de la ligne s'appuie sur l'index de la table. Si la table n'a pas d'index, ou si l'instruction SQL n'utilise pas d'index, les verrous au niveau de la table. sont encore utilisés.
Oracle utilise des verrous au niveau des lignes et la granularité du verrouillage des ressources est beaucoup plus petite. Il verrouille uniquement les ressources requises par SQL, et le verrouillage s'effectue sur les lignes de données de la base de données et ne repose pas sur des index. La prise en charge de la concurrence par Oracle est donc bien meilleure.
(7) Sauvegarde logique Les données doivent être verrouillées lors de la sauvegarde logique MySQL pour garantir la cohérence des données sauvegardées, ce qui affecte l'utilisation normale de DML dans l'entreprise. Oracle ne verrouille pas les données lors de la sauvegarde logique, et les données sauvegardées sont cohérentes (8) Réplication
MySQL : La configuration du serveur de réplication est simple, mais lorsqu'il y a un problème avec la base de données principale, la base de données du cluster peut perdre une certaine quantité de données. Et vous devez basculer manuellement la bibliothèque plex vers la bibliothèque principale. Oracle : il existe à la fois la réplication de données traditionnelle push ou pull et le mécanisme de reprise après sinistre sur deux ou plusieurs machines de dataguard. En cas de problème avec la base de données principale, la base de données de secours peut être automatiquement basculée vers la base de données principale, mais la base de données de secours peut être automatiquement basculée vers la base de données principale. la gestion de la configuration est plus compliquée.
(9) Diagnostic des performancesMySQL dispose de peu de méthodes de diagnostic et de réglage, principalement des journaux de requêtes lents. Oracle dispose de divers outils de diagnostic et de réglage des performances matures, qui peuvent réaliser de nombreuses fonctions d'analyse et de diagnostic automatiques. Par exemple, awr, addm, sqltrace, tkproof, etc.
(10) Autorisations et sécuritéLes utilisateurs de MySQL sont liés à l'hôte, ce qui semble dénué de sens. De plus, l'hôte et l'adresse IP sont plus susceptibles d'être contrefaits. , qui peut être exploité. Les permissions et concepts de sécurité d’Oracle sont relativement classiques et tout à fait satisfaisants.
(11) Table partitionnée et index partitionnéLa table partitionnée de MySQL n'est pas encore mature et stable. Les fonctions de table de partition et d'index de partition d'Oracle sont très matures et peuvent améliorer l'expérience utilisateur d'accès à la base de données.
(12) Outils de gestionIl existe peu d'outils de gestion MySQL. L'installation d'outils de gestion sous Linux nécessite parfois l'installation de packages supplémentaires (phpmyadmin, etc), ce qui est compliqué. Oracle dispose d'une variété de lignes de commande matures, d'interfaces graphiques, d'outils de gestion Web et de nombreux outils de gestion tiers, ce qui rend la gestion extrêmement pratique et efficace.
(13) La différence la plus importanteMySQL est une base de données légère et gratuite, sans service de restauration des données. Oracle est une base de données robuste. La société Oracle fournit tous les services pour la base de données Oracle.
【Recommandations associées : tutoriel vidéo mysql】
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!