Go to the first, previous, next, last section, table of contents.


MySQL と他のデータベースの比較

MySQLmSQL との比較

この節は、MySQL 開発者によって書かれていますので、そのつもりで 読んで下さい。しかし我々が知っている事実上の間違いはありません。

全てのサポートされた制限、関数、型のリストについては、 crash-me web page.

Performance.
真の速度比較のためは、増加する MySQL ベンチマークスイートを見て 下さい。 「MySQL benchmark suite」節参照 MySQL は複雑な select で顕著に速いです。 mSQL は、select 中のテーブルの順番を変更した場合、patalogically に遅くなります。ベンチマークスイートでは MySQL よりも 15000 倍 も遅くなりました。 スレッド生成オーバーヘッドなし, 小さなパーサ, 少ない機能, そして単純なセ キュリティという理由で、mSQL は次の点で速いです: これらのオペレーションはとても単純なので、開始のオーバーヘッドが高くなる 時にそれらを良くするのは難しいです。接続が確立された後は MySQL はとても良い性能になります。 他のものでは MySQLmSQL や多くの他の SQL 実装よりとて も速いです:
SQL 機能
  1. GROUP BY & HAVING MySQLHAVING を伴う完全な GROUP BY や、次の関 数 count(), avg(), min(), max(), sum() そして std() をサポートします。min()max() は文字列の引数も取れます。count(*) は、クエリ内がこ れだけの場合にとても速く返されるように最適化されます。mSQLGROUP BY を全くサポートしません。
  2. INSERT & UPDATE with calculations. MySQLINSERT または UPDATE で計算を行えます。
    UPDATE SET x=x*10+y WHERE x<20;
    
  3. Aliasing MySQL は項目の別名を持ちます。
  4. Qualifying column names. 項目名がユニークなら、完全な修飾を使用する必要がありません。
  5. SELECT with functions MySQL の関数はここに一覧するには多すぎます。 「SELECTWHERE 節で使用する関数」節参照 。
Disk 領域能力
これは、テーブルをどのように小さくできるかです。 MySQL はとても精密な型を持ちます。とても小さい領域を使用するテーブルを作成でき るためです。MySQL データ型の有用な例は、3バイト長の medium int です。10.000.000 レコードを持つ場合、1レコードあたり1バイトの節約でもと ても重要です。 mSQL2 は4つの型(char,text,int,real)しかないので、小さなテーブルを 得るのは難しいです。
安定性
これを客観的に判断するのは難しいです。MySQL の安定性については 「MySQL はどれくらい安定か?」節参照 を参照してください。 我々には mSQL 安定性の経験がありません。そのため、我々はこれにつ いては何も言えません。
価格
もう一つの重要な問題はもちろんライセンスです。MySQLmSQL よりも柔軟なライセンスを持っています。そして mSQL よ りもより安いです。少なくとも、あなたが使用を選択した製品全てに、ライセン スまたは email サポートへの支払いを考慮することを覚えていて下さい。 MySQL と共に製品を売る場合、もちろんこのライセンスの獲得が要求 されます。
Perl インターフェース
MySQL は基本的に mSQL と同じ perl インタフェースと、いくつかの追 加機能を持ちます。
JDBC (Java)
MySQL は、Xiaokun Kelvin ZHU によって改良されている GWE 技術による java インタフェースを持ちます。 我々は mSQL がそれを持っていることを知っていますが、我々の経験は それを比較するのには少なすぎます。
開発の速度
MySQL はとても小さい開発チームを持っていますが、我々は C と C++ のコーディ ングをとても速く行ないます。スレッド、関数、group by などはまだ mSQL には実装されていませんので、it has a lot of chatching up to do. この上でいくつかの見通しを得るために、去年の mSQL HISTORY ファ イルを見て、News 節と比較できます。 「MySQL change history」節参照 。速く開発された多くのもの が、かなり明白になります。
ユーティリティプログラム
mSQLMySQL は多くの興味深いサードパーティツールを持っ ています。上位への移行 (mSQL -> MySQL) はとても簡単です。 MySQL は、ほとんど全ての興味深い mSQL アプリケーションを 持っています。 MySQL は、簡単な msql2mysql プログラムで得られます。これは良く使われる関 数の異なるスペルを修正するプログラムです。クライアントプログラムの mSQL から MySQL への変換は通常、数分使用するだけです。

msql-tcl, msqljava のような mSQL ツールについては?

我々の経験によると、mSQL C API を使用するツールを MySQL C API に変換するのには、少ない時間が必要なだけです。

手続き:

  1. シェルスクリプト msql2mysql をソースに実行します。バイナリプログラム replace が必要です。これは MySQL で配布されます。
  2. コンパイル
  3. 全てのコンパイラエラーを修復します:

MySQLmSQL 間の C API の違い。

MySQL クライアント/サーバ会話プロトコルの mSQL からの違いは?

両方サポートすることができない(少なくとも不可能な)十分な違いがあります。

MySQLmSQL の間の大きい違いは次です:

MySQL & mSQL 2.0 間の SQL 構文の違いは?

MySQL と PostgreSQL との比較

For a list of all supported limits, functions and types see the crash-me web page.

PostgreSQL はさらに進んだ機能をいくつか持っています。ユーザ定義型、トリ ガ、ルール、トランザクションのような。しかし ANSI SQL と ODBC の標準型と 機能の多くが欠けています。サポート/未サポートの型/関数の完全な一覧は crash-me web page を見てください。

通常、PostgreSQL は MySQL よりとても遅いです。 「MySQL benchmark suite」節参照 。


Go to the first, previous, next, last section, table of contents.