MySQLとPostgreSQLのデータ比較
3103 ワード
MySQLとPostgreSQLは、多くの特徴を共有するデータベースを非常によく使用します.基本的な類似点については、MySQLとPostgreSQLのSQL、または構造化クエリ言語を使用します.どちらも表形式のデータ(表のデータ)を持つリレーショナルデータベースであり、同様のCLI(コマンドラインインターフェイス)があります.しかし、これは表面だけです、そして、あなたがより深く見えるように、違いはよりドラマチックに見えるかもしれません.このポストでは、PostgreSQLとMySQLのデータ型の扱いの違いを詳しく見ていきます.
まず、スキーマの概念は、これらの2つのデータベース間で根本的に異なります.MySQLは本質的に、スキーマがデータベースと同じであると考えます(あるいは、理論的にはデータベースを構成する基本的なフォーマットです).一方、PostgreSQLは、複数のデータベースを必要とせずに、単一のデータベースのさまざまな要素を結合して使用するための設定の設定をスキーマとします.下の写真では、赤はMySQLスキーマ(トップ)と可能なPostgreSQLスキーマ(bottom)を表します.
基本的なデータ型に関して、これらの2つのデータベースは、サイズに基づいて一般的に使用されたタイプを異なった数のカテゴリーに分類する傾向があります.例えば、MySQLは整数などのサイズの広い範囲を持っています
PostgreSQLとMySQLにはバイナリ( 1 , 0 )データを扱うデータ型も異なります:
Booloeansは2つのデータベースの間で大きく異なります.PostgreSQLは任意の適切なプログラミング言語としてbooleanを扱いますが、MySQLは実際に1桁のバイナリとしてのみ保存します
このポストは、実際に書くために少し私を痛みます.私がこれらの違いを通して模索するように、一貫してPostgreSQLがMySQLより良い理由をチェックして、私は私が私のルーツに私の背中を回しているように感じます.MySQLは私の家のようです.私が最初に私が本当に誰であるかについてわかったとき、私に私の最初のデータベース遭遇をほんの数週前に持ってきたMySQLでした.それは単なる単純な単純です.そして、それはPostgresと比較して不足している特徴の利益を考慮して全く明らかです.しかし、データベースでは、生活の中で、我々は進化し続けなければならない.このポストが苦々しいものであったとしても、Postgresのデータ操作をMySQLに比較しているポストのポストにおいて、Postgresの優れた特徴をさらに共有することを楽しみにしています.
まず、スキーマの概念は、これらの2つのデータベース間で根本的に異なります.MySQLは本質的に、スキーマがデータベースと同じであると考えます(あるいは、理論的にはデータベースを構成する基本的なフォーマットです).一方、PostgreSQLは、複数のデータベースを必要とせずに、単一のデータベースのさまざまな要素を結合して使用するための設定の設定をスキーマとします.下の写真では、赤はMySQLスキーマ(トップ)と可能なPostgreSQLスキーマ(bottom)を表します.
基本的なデータ型に関して、これらの2つのデータベースは、サイズに基づいて一般的に使用されたタイプを異なった数のカテゴリーに分類する傾向があります.例えば、MySQLは整数などのサイズの広い範囲を持っています
TINYINT
, SMALLINT
, MEDIUMINT
, INTEGER
, and BIGINT
, PostgreSQLは3つだけを使用します.SMALLINT
, INTEGER
, and BIGINT
. 同様に、MySQLはテキストベースのオプションを持っていますVARCHAR
PostgreSQLよりフィールドサイズ.PostgreSQLとMySQLにはバイナリ( 1 , 0 )データを扱うデータ型も異なります:
BYTEA
PostgreSQLとBLOB
MySQL用.また、PostgreSQLは実際にUUIDの(普遍的な一意の識別子)を生成して保存することができます.一種のランダムな暗号化形式のテキストです.MySQLは現在、PostgreSQLのUUIDと同等ではありません.Booloeansは2つのデータベースの間で大きく異なります.PostgreSQLは任意の適切なプログラミング言語としてbooleanを扱いますが、MySQLは実際に1桁のバイナリとしてのみ保存します
TINYINT
ブールの値が理論的に他の多くの数でありえたように、s.以下の例を見てください.mysql> CREATE TABLE test (
-> id INT AUTO_INCREMENT,
-> bool BOOLEAN,
-> PRIMARY KEY (id)
-> );
Query OK, 0 row affected (0.02 sec)
mysql> INSERT INTO test (bool) VALUES (0);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO test (bool) VALUES (1);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO test (bool) VALUES (2);
Query OK, 1 row affected (0.00 sec)
mysql> select * from bool \G
*************************** 1. row ***************************
id: 1
bool: 0
*************************** 2. row ***************************
id: 2
bool: 1
*************************** 3. row ***************************
id: 3
bool: 2
3 rows in set (0.00 sec)
PostgreSQLのもう一つのパーキングは柔軟な外国データラッパーです.そして、それは「外国のテーブル」(外国のキーのような)を作ります、そして、PostgreSQL表の外でいろいろな構成を表すことができます.同様に有用なPostgresの具体化されたビューは、クエリの結果を後で使用するための具体的なデータとして保存し、便利なときに集中的なクエリを実行するための時間効率の高い手段を提供します.別の問題は、MySQLのCHECK
制約は、データ検証の柔軟な形式です.同様に、PostgreSQLは配列をサポートしており、様々な制約を持つ独自のデータ型をカスタマイズする手段を提供しています.このポストは、実際に書くために少し私を痛みます.私がこれらの違いを通して模索するように、一貫してPostgreSQLがMySQLより良い理由をチェックして、私は私が私のルーツに私の背中を回しているように感じます.MySQLは私の家のようです.私が最初に私が本当に誰であるかについてわかったとき、私に私の最初のデータベース遭遇をほんの数週前に持ってきたMySQLでした.それは単なる単純な単純です.そして、それはPostgresと比較して不足している特徴の利益を考慮して全く明らかです.しかし、データベースでは、生活の中で、我々は進化し続けなければならない.このポストが苦々しいものであったとしても、Postgresのデータ操作をMySQLに比較しているポストのポストにおいて、Postgresの優れた特徴をさらに共有することを楽しみにしています.
Reference
この問題について(MySQLとPostgreSQLのデータ比較), 我々は、より多くの情報をここで見つけました https://dev.to/gduple/comparing-mysql-and-postgresql-172cテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol