主要关系型数据库(Oracle、MySQL、PostgreSQL)的功能比较

在这些中间,特别是针对Oracle、MySQL和PostgreSQL,我们简要对它们的功能进行了比较,并总结如下。
Oracle的主要特点
- Oracle社が開発・販売する商用RDBMS
行级锁定 jí
- 複数のユーザーが同一の表の別の行に同時にアクセスするのでパフォーマンスが高い
读取的一致性
- ダーティ・リード(更新前の情報と更新後の情報の両方を取得)が発生しないように、更新前データのみを取得する
坚固性
- Oracle Data Guardと呼ばれる、災害時やデータ破損時などあらゆる障害からデータベースを保護し、サービスの継続を可能にするシステムが存在している
可转移性
-
- Oracle Databaseは全てC言語で書かれいているので、幅広い運用が可能
- 管理や開発の効率化のための様々なツールが利用できる
其他特點
-
- トランザクションが自動的に開始する
- DDL(データ定義言語)やDCL(データ制御言語)の実行後に、コミットが自動的に行われる
MySQL和PostgreSQL的比较
-
- MySQLは、MySQL ABが開発したRDBMSだが、現在の管理運営はOracle社が行っている
- PostgreSQLは、PostgreSQL Global Development Groupによって開発が行われている
许可证的差异 de
-
- Oracleは高機能高性能のため圧倒的に高いです
- PostgreSQLはオープンソースソフトウェア

创建的数据库类型
- PostgreSQLとMySQLは派生したデータベースが多く存在し利用されています。

储存架构的差异
-
- OracleやMySQLが「更新型」のアーキテクチャなのに比べて、PostgreSQLはストレージの管理方法が「追記型」のため、既存のデータの書き換えを行うことなく空いている領域を使って更新データを追記している
更新型 : 対象レコードをそのまま更新
追記型 : 既存レコードを保持したまま、新規レコードを追加して参照先を変更
なお、データ量についてはバキューム機能(VACUUM)により解決しているそう

数据库功能比较
-
- データ型や命名規制, 書式等はそれぞれ異なる形式になっているが大きな差は無い
-
- Oracleはチェック制約があるが、MySQLではトリガーで実装する必要がある
-
- OracleにはシーケンスがあるがMySQLにはなく、代わりに自動インクリメントで定義
-
- Oracleはシノニム(オブジェクトに対する別名を定義)があるのに対し、MySQLとPostgreSQLには無い
-
- OracleはNULLと空文字は同一判定だが、MySQLとPostgreSQLでは別枠
-
- Oracleはトランザクションは任意単位だが、MySQLとPostgreSQLは基本的にSQL文単位で確定
- その他、実行計画の違いやヒント句の有無など

请参考下列资料
仅需要一个选项
知道但又不知道!Oracle(甲骨文)是什么?
在2017年选择数据库时,
从SQL的角度整理出“Oracle Database”,“PostgreSQL”,“MySQL”的特点
选择PostgreSQL还是MySQL?数据库专家通过8个角度进行详细比较!