1. Parallelität Die wichtigste Funktion einer OLTP-Datenbank ist die Parallelität. Allerdings umfasst Parallelität auch den Erwerb, die gemeinsame Nutzung und die Sperrung von Ressourcen. MySQL: Orakel: 2. Konsistenz Orakel: MySQL: 3. Angelegenheiten Oracle unterstützt Transaktionen bereits seit langem vollständig. MySQL unterstützt Transaktionen nur mit Zeilensperren in der InnoDB-Speicher-Engine. 4. Datenpersistenz Orakel 5. Übermittlungsmethode Oracle führt die Übermittlung standardmäßig nicht automatisch durch und erfordert vom Benutzer eine manuelle Übermittlung. 6. Logisches Backup Oracle sperrt während der logischen Sicherung keine Daten und die gesicherten Daten sind konsistent. Wenn Sie eine logische Sicherung von MySQL durchführen, müssen die Daten gesperrt werden, um sicherzustellen, dass die gesicherten Daten konsistent sind, was sich auf die normale Verwendung von DML im Unternehmen auswirkt. 7. Hot-Backup Oracle verfügt mit RMAN über ein ausgereiftes Hot-Standby-Tool, das die Verwendung der Datenbank durch Benutzer während des Hot-Standby-Modus nicht beeinträchtigt. Selbst wenn die gesicherte Datenbank inkonsistent ist, kann sie über Archivprotokolle und Online-Redo-Protokolle konsistent wiederhergestellt werden. 8. Erweiterung und Flexibilität von SQL-Anweisungen MySQL verfügt über viele sehr praktische und bequeme Erweiterungen für SQL-Anweisungen, wie etwa die Limit-Funktion, die Insert-Funktion, mit der mehrere Datenzeilen gleichzeitig eingefügt werden können, und die Select-Funktion, mit der bestimmte Verwaltungsdaten ausgewählt werden können, ohne dass „von“ hinzugefügt wird. IX. Kopie Oracle: Es verfügt sowohl über die traditionelle Push- oder Pull-Datenreplikation als auch über den Notfallwiederherstellungsmechanismus von DataGuard für zwei oder mehrere Maschinen. Wenn ein Problem mit der Hauptdatenbank auftritt, kann die Sicherungsdatenbank automatisch auf die Hauptdatenbank umgeschaltet werden, die Konfigurationsverwaltung ist jedoch komplizierter. 10. Leistungsdiagnose Oracle verfügt über eine Vielzahl ausgereifter Tools zur Leistungsdiagnose und -optimierung, die viele automatische Analyse- und Diagnosefunktionen implementieren können. Wie awr, addm, sqltrace, tkproof usw. 11. Berechtigungen und Sicherheit Der MySQL-Benutzer ist mit dem Host verknüpft, was bedeutungslos erscheint. Darüber hinaus können Host und IP leichter gefälscht werden. 12. Partitionstabellen und Partitionsindizes 13. Verwaltungstools 14. Technischer Support Wenn es ein Problem mit Oracle gibt, können Sie sich an den Kundendienst wenden Lösen Sie MySQL-Probleme selbst 15. Autorisierung Oracle-Gebühren mysq Open Source - kostenlos 16. Wahl Wenn Sie Geld haben, empfehle ich Ihnen, Oracle zu verwenden. Wenn Sie kein Geld haben, aber Ihre Anforderungen erfüllen können, empfehle ich die Verwendung von mysq. (Alibaba, Wikipedia und andere große Projekte verwenden ebenfalls MySQL und verwenden hauptsächlich verteilten Speicher, Caching, Tabellen- und Datenbank-Sharding und andere Technologien.) Hier ist ein weiterer Artikel, der hauptsächlich einen Vergleich aus der SQL-Perspektive durchführt: Der Unterschied zwischen Oracle-Datenbanken und MySQL-Datenbanken ist der Hauptinhalt dieses Artikels. Ich hoffe, er kann Ihnen hilfreich sein. 1. Regeln für die Nutzung von Gruppenfunktionen In MySQL können Gruppierungsfunktionen frei in Auswahlanweisungen verwendet werden. In Oracle müssen jedoch, wenn die Abfrageanweisung eine Gruppierungsfunktion enthält, die anderen Spaltennamen von der Gruppierungsfunktion verarbeitet werden oder Spalten in der Group-By-Klausel sein. Andernfalls wird ein Fehler gemeldet. Zum Beispiel: select name, count(money) from user; Dies funktioniert in MySQL einwandfrei, hat jedoch in Oracle Probleme. 2. Automatische Verarbeitung von Wachstumsdatentypen MySQL verfügt über einen automatisch wachsenden Datentyp. Beim Einfügen von Datensätzen müssen Sie dieses Feld nicht bedienen, und der Datenwert wird automatisch abgerufen. ORACLE verfügt nicht über einen automatisch ansteigenden Datentyp. Daher müssen Sie eine automatisch ansteigende Sequenznummer erstellen und diesem Feld beim Einfügen eines Datensatzes den nächsten Wert der Sequenznummer zuweisen. SEQUENZ ERSTELLEN Sequenznummernname (vorzugsweise Tabellenname + Sequenznummern-Tag) UM 1 ERHÖHEN, MIT 1 BEGINNEN, MAXIMALER WERT 99999, ZYKLUS NOCACHE; Der Maximalwert wird durch die Länge des Feldes bestimmt. Wenn die automatisch steigende Sequenznummer NUMBER(6) definiert ist, beträgt der Maximalwert 999999 Die INSERT-Anweisung fügt diesen Feldwert ein: den Namen der Seriennummer.NEXTVAL 3. Verarbeitung von Einzelangeboten In MySQL können Sie doppelte Anführungszeichen verwenden, um Zeichenfolgen einzuschließen, in Oracle können Sie Zeichenfolgen jedoch nur in einfache Anführungszeichen einschließen. Vor dem Einfügen und Ändern einer Zeichenfolge müssen einfache Anführungszeichen ersetzt werden: Alle Vorkommen eines einfachen Anführungszeichens werden durch zwei einfache Anführungszeichen ersetzt. 4. Verarbeitung von SQL-Anweisungen zum Umblättern Die SQL-Anweisung für MySQL zum Verarbeiten des Seitenumblätterns ist relativ einfach. Verwenden Sie LIMIT, um die Startposition festzulegen, und notieren Sie die Nummer. In PHP können Sie auch SEEK verwenden, um die Position des Ergebnissatzes zu lokalisieren. Die SQL-Anweisungen für ORACLE zum Verarbeiten des Seitenumblätterns sind ziemlich kompliziert. Jeder Ergebnissatz hat nur ein ROWNUM-Feld, um seine Position anzugeben, und es kann nur ROWNUM<100 verwendet werden, nicht ROWNUM>80. Nach der Analyse sind die folgenden zwei besseren ORACLE-SQL-Anweisungen zum Umblättern von Seiten aufgeführt (ID ist der Feldname des eindeutigen Schlüsselworts): Aussage 1: SELECT ID, [FELDNAME,...] FROM TABLE_NAME WHERE ID IN (SELECT ID FROM (SELECT ROWNUM AS NUMROW, ID FROM TABLE_NAME WHERE Bedingung1 ORDER BY Bedingung2) WHERE NUMROW > 80 AND NUMROW < 100 ) ORDER BY Bedingung3; Aussage 2: SELECT * FROM (( SELECT ROWNUM AS NUMROW, c.* from (select [FIELD_NAME,...] FROM TABLE_NAME WHERE Bedingung1 ORDER BY Bedingung2) c) WHERE NUMROW > 80 AND NUMROW < 100 ) ORDER BY Bedingung3; 5. Verarbeitung langer Zeichenfolgen Auch bei der Verarbeitung langer Strings bringt ORACLE Besonderheiten mit. Die maximal verwendbare Zeichenfolgenlänge für INSERT und UPDATE beträgt höchstens 4000 einzelne Bytes. Wenn Sie eine längere Zeichenfolge einfügen möchten, sollten Sie den Typ CLOB für das Feld verwenden und das DBMS_LOB-Paket verwenden, das mit ORACLE geliefert wird. Vor dem Einfügen oder Ändern von Datensätzen müssen Sie Nicht-Leer- und Längenprüfungen durchführen. Feldwerte, die nicht leer sein können, und Feldwerte, die die Länge überschreiten, sollten eine Warnung ausgeben und zur letzten Operation zurückkehren. 6. Verarbeitung von Datumsfeldern MYSQL-Datumsfelder sind in DATE und TIME unterteilt. ORACLE-Datumsfelder haben nur DATE, das Informationen zu Jahr, Monat, Tag, Stunde, Minute und Sekunde enthält. Die Systemzeit der aktuellen Datenbank ist SYSDATE, auf Sekunden genau, oder die Zeichenfolge wird in eine Datumstypfunktion TO_DATE('2001-08-01','YYYY-MM-DD') Jahr-Monat-Tag 24 Stunden: Minuten: Sekunden-Format YYYY-MM-DD HH24:MI:SS TO_DATE() Es gibt viele andere Datumsformate, Sie können sich auf ORACLE DOC beziehen. Datumsfeldkonvertierungszeichenfolgenfunktion TO_CHAR('2001-08-01','YYYY-MM-DD HH24:MI:SS') Die mathematischen Formeln für Datumsfelder sind sehr unterschiedlich. MYSQL findet das Datum 7 Tage ab der aktuellen Uhrzeit mit DATE_FIELD_NAME > SUBDATE(NOW(), INTERVAL 7 DAY) ORACLE findet das Datum 7 Tage ab der aktuellen Uhrzeit mit DATE_FIELD_NAME > SYSDATE - 7; Mehrere Funktionen in MYSQL, die die aktuelle Uhrzeit einfügen, sind: Die Funktion NOW() gibt das aktuelle Datum und die aktuelle Uhrzeit als „JJJJ-MM-TT HH:MM:SS“ zurück, was direkt im Feld DATETIME gespeichert werden kann. CURDATE() gibt das heutige Datum im Format „JJJJ-MM-TT“ zurück und kann direkt in einem DATE-Feld gespeichert werden. CURTIME() gibt die aktuelle Uhrzeit im Format „HH:MM:SS“ zurück und kann direkt im Feld TIME gespeichert werden. Beispiel: Werte in Tabellenname (Feldname) einfügen (jetzt()) Die aktuelle Zeit in Oracle ist sysdate 7. Umgang mit Nullzeichen Die nicht leeren Felder von MySQL haben auch leere Inhalte, aber ORACLE erlaubt keine leeren Inhalte in nicht leeren Feldern. Das Definieren der ORACLE-Tabellenstruktur gemäß NOT NULL von MYSQL führt zu Fehlern beim Importieren von Daten. Daher müssen Sie beim Importieren von Daten das leere Zeichen beurteilen. Wenn es NULL oder ein leeres Zeichen ist, müssen Sie es in eine Leerzeichenfolge ändern. 8. Fuzzy-Vergleich von Zeichenfolgen Verwenden Sie in MySQL den Feldnamen „%' string %'“. In ORACLE können Sie den Feldnamen auch „%' string %'“ verwenden, aber diese Methode kann keine Indizes verwenden und ist nicht schnell. Die Verwendung der Zeichenfolgenvergleichsfunktion instr(field name, ' string ')>0 liefert genauere Suchergebnisse. 9. Achten Sie in Programmen und Funktionen darauf, Ergebnismengen und Zeiger nach Abschluss der Datenbankoperationen freizugeben. Das könnte Sie auch interessieren:
|
<<: Installationsschritte der Ubuntu 20.04-Doppelpinyin-Eingabemethode
>>: Ubuntu 20.04: Beispiel zum Ändern der IP-Adresse
1.Mysql-Verbindungsmethode Um das MySQL-Kommunika...
<br />Wenn Sie sich diesen Titel ansehen, ko...
Datenbanksicherung #Grammatik: # mysqldump -h ser...
Zusammenfassung HTML: Element plus V-Umhang CSS: ...
Einführung Mit Animation können Sie mithilfe von ...
Inhaltsverzeichnis Ziele für diesen Zeitraum 1. F...
1. Kauf des Servers 1. Ich habe mich für den Serv...
Vorwort Ich wollte vor kurzem CocosCreator lernen...
1. Einleitung Gilt es als Aufwärmen alter Themen,...
1. Einführung in das Logrotate-Tool Logrotate ist...
1. Einführung in das Docker-Maven-Plugin In unser...
Inhaltsverzeichnis 1. VueRouter 1. Beschreibung 2...
Was ist eine Datei? Eigentlich sind alle Dateien ...
Boost installieren Es gibt viele Möglichkeiten, C...
In diesem Artikel wird der spezifische Code von j...