Maison >base de données >tutoriel mysql >Introduction à quelques différences entre Mysql et Oracle
Avant-propos : Dans le travail quotidien des programmeurs, il est inévitable de traiter avec des bases de données. Il existe de nombreuses bases de données que nous connaissons, telles que : mysql, oracle, sql server, etc.
Aujourd'hui, je vais vous présenter. vous Quelques différences simples entre MySQL et Oracle. (Recommandation : Tutoriel vidéo MySQL)
1 Soumission des transactions
MySQL valide les transactions par défaut, et il doit le faire. be <code><strong>START TRANSACTION</strong>
START TRANSACTION
marque le début d'une transaction, sinon les données ne peuvent pas être annulées à l'aide du rollback.
<strong>commit</strong>
Oracle demande aux utilisateurs de soumettre manuellement. Ils doivent écrire la commande
ou cliquer sur <strong>commit</strong>
commit
bouton.
2. Requête de pagination
MySQL peut utiliser directement le langage SQL suivant pour interroger, et la pagination peut être implémentée avec une limite. Parmi les deux paramètres aprèsselect ... from ... where ... limit x,y
<strong>ROWNUM</strong>
limite, x représente l'index de départ, à partir de 0, et y représente le nombre d'enregistrements renvoyés. <strong>ROWNUM</strong>
<strong>ROWNUM</strong>
Mais Oracle doit utiliser des pseudo-colonnes
ROWNUM et des requêtes imbriquées. <strong>ROWNUM</strong>
représente le numéro de ligne d'un enregistrement. Il est à noter qu'il est attribué après l'acquisition d'une ligne. Par conséquent, il est impossible d'obtenir des données de pagination en spécifiant l'intervalle <strong>ROWNUM</strong>
dans un langage de requête de premier niveau, et une autre requête est requise.
<strong>read </strong>
, commited
Niveau d'isolation des transactions<strong>repeatable</strong>
Le niveau d'isolation par défaut de MySQL est
, le niveau d'isolement par défaut d'Oracle est
<p>répétable<code>innodb
. Dans le même temps, les deux prennent en charge le niveau d’isolation des transactions sérialisées sérialisables pour atteindre le plus haut niveau de cohérence de lecture. 4. Prise en charge des transactions
MySQL ne peut prendre en charge que les transactions avec le verrouillage au niveau de la ligne du moteur de stockage
, mais Oracle ne le prend pas en charge. transactions.
5. Enregistrer la persistance des données
session
MySQL 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 en ligne. est enregistré sur le disque et peut être restauré à tout moment.
InnoDB
6. Concurrence
MySQL 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 pour un. longtemps Si c'est trop long, les autres
ne pourront pas modifier les données de ce tableau.Bien que
les tables du moteur puissent utiliser des verrous au niveau des lignes, ce mécanisme de verrouillage au niveau des lignes dépend de l'index de la table si la table n'a pas d'index ou si l'instruction SQL en a. Si vous n'avez pas d'index, la table est toujours utilisée avec le verrouillage de niveau.dml
Oracle utilise le verrouillage au niveau des lignes, qui verrouille les ressources avec une granularité beaucoup plus petite. Il verrouille uniquement les ressources requises, 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
MySQL doit verrouiller les données lors de la sauvegarde logique pour garantir la cohérence des données sauvegardées, ce qui affecte l'utilisation normale de l'entreprise
, les données Oracle ne sont pas verrouillées lors de la sauvegarde logique et les données sauvegardées sont cohérentes.
<strong>dataguard</strong>
La configuration du serveur de réplication MySQL est très 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 certaines données. et doit être commuté manuellement à partir de la bibliothèque Cong.
Oracle propose à la fois la réplication de données traditionnelle en mode push ou pull et le mécanisme de reprise après sinistre sur deux ou plusieurs machines de
, en cas de problème. problème avec la base de données principale , vous pouvez basculer automatiquement la base de données de secours vers la base de données principale, mais la gestion des données est plus compliquée.
9. Jugement des performances
MySQL dispose de peu de méthodes de diagnostic et de réglage, principalement des journaux de requêtes lents.
Oracle dispose d'une variété d'outils avancés de diagnostic et de réglage des performances qui peuvent réaliser de nombreuses analyses automatiques.
10. Autorisations et sécurité
Les utilisateurs MySQL sont liés à l'hôte, et l'hôte et l'adresse IP sont facilement contrefaits.11. Table partitionnée et index partitionné
La table partitionnée de MySQL n'est pas 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 de l'utilisateur en matière d'accès à la base de données.
12. Outils de gestion
MySQL dispose de moins d'outils de gestion En parallèle, l'installation d'outils de gestion sous Linux nécessite parfois l'installation de packages supplémentaires, ce qui est. plus compliqué.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!