ホームページ  >  記事  >  データベース  >  Oracleとmysqlの違いは何ですか

Oracleとmysqlの違いは何ですか

青灯夜游
青灯夜游オリジナル
2021-12-13 18:05:028471ブラウズ

違い: 1. Oracle は大規模なデータベースであるのに対し、Mysql は中小規模のデータベースです; 2. Mysql はオープンソースですが、Oracle は有料です; 3. Mysql はデフォルトではトランザクションをサポートしませんが、Mysql は中小規模のデータベースです。 Oracle は完全にサポートされています; 4. Oracle はデフォルトで手動送信が必要ですが、Mysql はデフォルトで自動的に送信されます。

Oracleとmysqlの違いは何ですか

このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン, デルのG3コンピューター。

MySQL と Oracle の違い

1. 巨視的に:

#1. Oracle は次のとおりです。大規模なデータベースに対して、Mysql は中小規模のデータベースです。Mysql はオープンソースであり、Oracle は有料で高価です。

2. Oracle は大規模な同時実行性と大規模なアクセス量をサポートしており、OLTP に最適なツールです。

3. インストールによって占有されるメモリも異なります。Mysql のインストールが完了すると、占有されるメモリは Oracle が占有するメモリよりもはるかに小さくなり、Oracle が使用されるほどメモリが増加します。占める。

2. 微細な視点:

1. トランザクションのサポート

トランザクション用の Mysqlはデフォルトではサポートされていませんが、innodb などの一部のストレージ エンジンはサポートでき、Oracle は完全にサポートしています。

2. データの永続性

Oracle は、送信された SQL 操作行をオンラインのオンライン ログ ファイルに書き込み、ディスクに保存するため、送信されたトランザクションが回復できることを保証します。データベースまたはホストが異常に再起動した場合、Oracle を再起動すると、オンライン ログに基づいてお客様が送信したデータを復元できます。

Mysql はデフォルトで SQL ステートメントを送信しますが、更新プロセス中にデータベースまたはホストの再起動に問題が発生した場合、データも失われる可能性があります。

3. トランザクション分離レベル

MySQL は反復可能な読み取りの分離レベルであり、Oracle はコミットされた読み取りの分離レベルであり、両方ともシリアル化可能なシリアル化されたトランザクションをサポートします。レベル、達成可能な最高レベル。

読み取りの一貫性。各セッションが送信された後でのみ、他のセッションが送信された変更を確認できるようになります。 Oracleは、UNDO表領域にマルチバージョンのデータ・ブロックを構築することで読取りの一貫性を実現します。各セッションの問合せ時に対応するデータ・ブロックが変更されると、Oracleは問合せ時にこのセッションの古いデータをUNDO表領域に構築します。 。

MySQL には、Oracle のようなマルチバージョン データ ブロックを構築するメカニズムがなく、コミットされた読み取りの分離レベルのみをサポートします。 1 つのセッションがデータを読み取るとき、他のセッションはデータを変更できませんが、テーブルの最後にデータを挿入できます。セッションがデータを更新するときは、排他ロックを追加する必要があり、他のセッションはデータにアクセスできません

4. 送信方法

Oracle はデフォルトでは自動的に送信しません。手動で送信する必要があります。 MySQL はデフォルトで自動的にコミットします。

5. 論理バックアップ

Mysql 論理バックアップでは、バックアップされたデータの一貫性を確保するためにデータをロックする必要があり、通常のビジネス DML (データ操作言語) 言語に影響します。 Oracle は論理バックアップ中にデータをロックせず、バックアップされたデータは一貫しています。

6. SQL ステートメントの柔軟性

Mysql には、limit 関数 (ページング)、複数の項目を挿入できる insert など、SQL ステートメントに対する非常に実用的で便利な拡張機能が多数あります。行データ。この点では、Oracle の方が安定していて伝統的だと感じます。Oracle のページングは​​疑似列とサブクエリを通じて完了し、データは行ごとにのみ挿入できます。

7. データ レプリケーション

MySQL: レプリケーション サーバーの構成はシンプルですが、メイン データベースに問題が発生した場合、クラスター データベースで一定量のデータが失われる可能性があります。データの。また、プレックス ライブラリをメイン ライブラリに手動で切り替える必要があります。

Oracle: 従来のプッシュまたはプルのデータ レプリケーションと、Dataguard のデュアルマシンまたはマルチマシンの災害復旧メカニズムの両方があり、メイン データベースに問題が発生した場合は、スタンバイ データベースが自動的にメイン データベースに切り替わります。データベースを構築できますが、構成管理が複雑です。

8. パーティション テーブルとパーティション インデックス

MySQL のパーティション テーブルはまだ成熟しておらず、安定していません。Oracle のパーティション テーブルとパーティション インデックス関数は非常に成熟しており、ユーザー アクセスを向上させることができます。 .dbの経験。

9. アフターセールスと手数料

Oracle は手数料を請求します。問題がある場合は、カスタマー サービスまでご連絡ください。Mysql は無料でオープン ソースです。問題があっても、自分で解決できます。

10. 権限とセキュリティ

Oracle の権限とセキュリティの概念は比較的伝統的で、非常に満足のいくものです。MySQL のユーザーはホストに関連付けられていますが、これは無意味に感じられます。ホストや IP を偽造する機会が存在します。

11. パフォーマンス診断

Oracle には、多くの自動分析および診断機能を実現できる、さまざまな成熟したパフォーマンス診断およびチューニング ツールがあります。たとえば、awr、addm、sqltrace、tkproof など、MySQL には診断および調整の方法がほとんどなく、主に遅いクエリ ログが使用されます。

[関連する推奨事項:

mysql ビデオ チュートリアル ]

以上がOracleとmysqlの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。