この記事では、MySQL と Oracle の違いを紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。
##1. 巨視的: 1. Oracle は大規模なデータベースであり、Mysql は中小規模のデータベースです。Mysql はオープンソースであり、Oracle は有料です。 . そして高価です。 2. Oracle は大規模な同時実行性と大規模なアクセス量をサポートしており、OLTP に最適なツールです。 3. インストールによって占有されるメモリも異なります。Mysql のインストールが完了すると、占有されるメモリは Oracle が占有するメモリよりもはるかに小さくなり、Oracle が使用されるほどメモリが増加します。占める。 2. 微細なビュー:1. トランザクションのサポートMysql はデフォルトではトランザクションをサポートしませんが、innodb などの一部のストレージ エンジンはトランザクションをサポートできます。物事を完全にサポートします。 2. 同時実行性同時実行性とは何ですか?同時実行性は、OLTP (オンライン トランザクション処理オンライン トランザクション処理) データベースの最も重要な機能です。同時実行性には、リソースの取得、共有、ロックが含まれます。
Mysql はテーブル ロックと行レベルのロックの両方をサポートしています。テーブル ロックは、リソースのロックにおいて非常に強力です。セッションがテーブルを長時間ロックすると、他のセッションはこのテーブルのデータを更新できなくなります。 Oracle では、行レベルのロックが使用されており、リソースのロックはそれほど強力ではありません。SQL で必要なリソースのみがロックされ、ロックはデータベース内のデータ行に対して行われ、インデックスには依存しません。したがって、Oracle の同時実行性のサポートははるかに優れています。 3. データの永続性Oracle は、送信された SQL 操作行をオンラインのオンライン ログ ファイルに書き込み、ディスクに保存するため、送信されたトランザクションが回復できることを保証します。またはホストが異常に再起動した場合、Oracle を再起動すると、オンライン ログを利用して顧客が送信したデータを復元できます。 Mysql はデフォルトで SQL ステートメントを送信しますが、更新プロセス中にデータベースまたはホストの再起動に問題が発生した場合、データも失われる可能性があります。 4. トランザクション分離レベルMySQL は反復可能な読み取りの分離レベルであり、Oracle はコミットされた読み取りの分離レベルです。同時に、両方ともシリアル化可能なシリアル化されたトランザクション分離レベルをサポートしています。最高レベルを達成することができます。 読み取りの一貫性。各セッションが送信された後でのみ、他のセッションが送信された変更を確認できるようになります。 Oracleは、UNDO表領域にマルチバージョンのデータ・ブロックを構築することで読取りの一貫性を実現します。各セッションの問合せ時に対応するデータ・ブロックが変更されると、Oracleは問合せ時にこのセッションの古いデータをUNDO表領域に構築します。 。 MySQL には、Oracle のようなマルチバージョン データ ブロックを構築するメカニズムがなく、コミットされた読み取りの分離レベルのみをサポートします。 1 つのセッションがデータを読み取るとき、他のセッションはデータを変更できませんが、テーブルの最後にデータを挿入できます。セッションがデータを更新するときは、他のセッションがデータにアクセスできないように排他ロックを追加する必要があります。5. 送信方法Oracle はデフォルトでは自動的に送信されず、手動で送信する必要があります。 MySQL はデフォルトで自動的にコミットします。 6. 論理バックアップ Mysql 論理バックアップでは、バックアップされたデータの一貫性を確保するためにデータをロックする必要があり、これはビジネスでの DML (データ操作言語) の通常の使用 (Oracle ロジック) に影響します。バックアップ中にデータはロックされず、バックアップされたデータは一貫しています。 7. SQL ステートメントの柔軟性 Mysql には、limit 関数 (ページング)、一度に複数行のデータを挿入できる挿入など、SQL ステートメントに対する非常に実用的で便利な拡張機能が多数あります。 Oracle のページングは疑似列とサブクエリを通じて行われ、データは行ごとにのみ挿入できます。 8. データ レプリケーションMySQL: レプリケーション サーバーの構成はシンプルですが、メイン データベースに問題が発生した場合、クラスター データベースで一定量のデータが失われる可能性があります。また、プレックス ライブラリをメイン ライブラリに手動で切り替える必要があります。 Oracle: 従来のプッシュまたはプルのデータ レプリケーションと、Dataguard のデュアルマシンまたはマルチマシンの災害復旧メカニズムの両方があり、メイン データベースに問題が発生した場合は、スタンバイ データベースが自動的にメイン データベースに切り替わります。データベースを構築できますが、構成管理が複雑です。 9. パーティション テーブルとパーティション インデックスMySQL のパーティション テーブルはまだ成熟しておらず、安定していませんが、Oracle のパーティション テーブルとパーティション インデックス関数は非常に成熟しており、DB へのアクセスのユーザー エクスペリエンスを向上させることができます。 10. アフターセールスと料金Oracle は料金を請求します。問題がある場合は、カスタマー サービスにご連絡ください。Mysql は無料でオープン ソースです。問題がある場合は、解決できます。それらを自分で。 11. 権限とセキュリティOracle の権限とセキュリティの概念は比較的伝統的で、非常に満足のいくものです; MySQL ユーザーはホストに関連付けられていますが、それは無意味に感じられます。さらに、ホストと IP はより重要です。偽造品の可能性がございますので、この機会にぜひご利用ください。 12. パフォーマンス診断Oracle には、多くの自動分析および診断機能を実現できる、さまざまな成熟したパフォーマンス診断およびチューニング ツールがあります。たとえば、awr、addm、sqltrace、tkproof など、MySQL には診断および調整の方法がほとんどなく、主に遅いクエリ ログが使用されます。 関連する推奨事項: 「mysql チュートリアル 」
以上がMySQL と Oracle の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。