Maison > base de données > tutoriel mysql > le corps du texte

Quelle est la différence entre MySQL et Oracle

青灯夜游
Libérer: 2020-09-09 15:44:56
original
66701 Les gens l'ont consulté

MySQL et Oracle sont tous deux des systèmes de gestion de bases de données populaires et largement utilisés dans le monde ; la plupart des bases de données fonctionnent de la même manière, mais il existe quelques différences. L'article suivant vous présentera les différences entre MySQL et Oracle. J'espère qu'il vous sera utile.

Quelle est la différence entre MySQL et Oracle

La différence entre MySQL et Oracle :

1. >La base de données Oracle est un système de gestion de base de données relationnelle objet (ORDBMS), une base de données robuste. Il est souvent appelé Oracle RDBMS ou simplement Oracle et est une base de données.

MySQL est un système de gestion de base de données relationnelle (SGBDR) open source et une base de données légère. Il s'agit du SGBDR le plus utilisé au monde et fonctionne comme un serveur offrant un accès multi-utilisateurs à plusieurs bases de données. Il s'agit d'une base de données open source et gratuite.

2. Différences de stockage

Par rapport à Oracle, MySQL n'a pas d'espaces de table, de gestion des rôles, d'instantanés, de synonymes et de packages, ni de gestion automatique du stockage.

3. Différences de sécurité

MySQL utilise trois paramètres pour authentifier les utilisateurs, à savoir le nom d'utilisateur, le mot de passe et l'emplacement ; Oracle utilise de nombreuses fonctionnalités de sécurité, telles que les noms d'utilisateur, les mots de passe, profils, authentification locale, authentification externe, améliorations de sécurité avancées, et bien plus encore.

4. Prise en charge des transactions

MySQL ne peut prendre en charge les transactions qu'avec le verrouillage au niveau de la ligne du moteur de stockage innodb, tandis qu'Oracle prend entièrement en charge les transactions

5. Différences dans le diagnostic des performances

MySQL a moins 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.

6 Différences dans les outils de gestion

MySQL a moins d'outils de gestion sous Linux. nécessite parfois l'installation de packages supplémentaires (phpmyadmin, etc.) entraîne certaines complications.

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.

7. Différences de 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 pendant une longue période. time S'il est trop long, les autres sessions ne pourront pas mettre à jour les données de cette table. 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 repose 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 toujours. utilisé.

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.

8. Durabilité des données enregistrées

MySQL perdra des 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. Le fichier journal est enregistré. sur le disque et peut être restauré à tout moment

9. Différences dans les niveaux d'isolement des transactions

MySQL est un niveau d'isolement en lecture validée, tandis qu'Oracle est reproductible Le niveau d'isolement de lecture, et tous deux prennent en charge le niveau d'isolation des transactions sérialisées sérialisables, peuvent 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 atteint la cohérence de lecture en construisant des blocs de données multi-versions dans l'espace table d'annulation lors de chaque requête de session, si le bloc de données correspondant change, Oracle le construira dans l'espace table d'annulation pour cette session. bloquer pendant la requête

MySQL n'a pas de mécanisme similaire à Oracle pour construire des blocs de données multi-versions et ne prend en charge que le niveau d'isolation de lecture validée. 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. Lorsque la session met à jour les données, un verrou exclusif doit être ajouté afin que les autres sessions ne puissent pas accéder aux données.

10. Quelques différences opérationnelles

①Clé primaire

Mysql utilise généralement le type de croissance automatique Lors de la création d'une table, il vous suffit de spécifier la. clé primaire de la table. auto_increment, lors de l'insertion d'un enregistrement, il n'est pas nécessaire de spécifier la valeur de la clé primaire de l'enregistrement, Mysql grandira automatiquement

Oracle n'a pas de type de croissance automatique ; utilisée pour la clé primaire sera la valeur suivante du numéro de séquence lors de l'insertion de l'enregistrement. Payez simplement ce champ, c'est juste que le framework ORM n'a besoin que d'une stratégie de génération de clé primaire native.

②Gestion des guillemets simples

Vous pouvez utiliser des guillemets doubles pour envelopper une chaîne dans MYSQL, mais vous ne pouvez utiliser que des guillemets simples pour envelopper une chaîne dans ORACLE. Avant d'insérer ou de modifier une chaîne, vous devez remplacer les guillemets simples : remplacez toutes les occurrences d'un guillemet simple par deux guillemets simples.

③ Traitement des instructions SQL qui tournent des pages

MYSQL est relativement simple pour traiter les instructions SQL qui tournent des pages. Utilisez LIMIT pour démarrer la position et enregistrer le nombre d'instructions SQL qui tournent par ORACLE ; les pages sont plus encombrantes.

④ Gestion des caractères nuls

Les champs non vides de MYSQL peuvent également avoir un contenu vide. ORACLE définit des champs non vides et n'autorise pas le contenu vide.

⑤ Comparaison floue des chaînes

Dans MYSQL, utilisez des noms de champs comme '%String%' ; dans ORACLE, vous pouvez également utiliser des noms de champs comme '%String%', mais cette méthode ne peut pas utiliser d'index et n'est pas rapide.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!