MySQLは、開発者の手の中にある「おもちゃ」から、今日世界で「最も人気のあるオープンソースデータベース
」へと変わりました。そのプロセスには製品バージョンのアップグレードが伴います。いくつかの新機能 (特にエンタープライズ データベース機能の増加) も含まれています。現在、MySQL 5.0 は完全に開発されており、MySQL を「おもちゃのデータベース」と呼ぶ人はほとんどいません。 MySQL の豊富な機能は多くのユーザーのニーズを満たしています。Oracle の最近の行動は、MySQL を非常に真剣に受け止めていることを示しています。Oracle は MySQL を買収する意向を何度か表明しています。
MySQL 製品ロードマップ
MySQL のより影響力のあるバージョンから始めて、MySQL のアップデートを見てみましょう。
MySQL 4.0
MySQL 4.0 は 2003 年 3 月にリリースされ、新しい MySQL ベースのアプリケーションがより広く使用されるようになりました。ただし、バージョン 4.0 では、MySQL はストアド プロシージャ、トリガー、サーバー側ポインタ、ビューをサポートしていません。 MySQL 4.0 は 3.23 バージョンから開発され、主に Web サイトに適しています。現時点では、MySQL はまだエンタープライズ レベルのデータベースではありません。
MySQL 4.0 の主な新機能は次のとおりです:
FULLTEXT インデックス: おそらくユーザーが最も期待しているのは FULLTEXT インデックスです。
FULLTEXT はテキスト フィールドにインデックスを作成し、インデックスに対してブール検索を実行するための強力で柔軟なメカニズムを提供します。一般的な開発経験によれば、開発者は通常、インデックスを作成してテキスト データにアクセスする必要がありますが、FULLTEXT インデックスは想像よりもはるかに優れています。
多くのソリューションは全単語インデックスに制限されていますが、FULLTEXT インデックスにはそのような制限がないため、開発者はフレーズを追加または分割できます。
ANSI SQL UNION: クエリ結果を結果セットに収集する ANSI SQL UNION ステートメントをサポートします。
複数テーブルの操作: 複数テーブルの UPDATE および DELETE を実行できます。
新しいステートメント: 他の DBMS ユーザーが使い慣れているいくつかの非標準の新しいステートメント (IDENTITY や TRUNCATE TABLE など) と、返されるレコードの数を返すことができる FOUND_ROWS() などの新しい関数が追加されました。 LIMIT 句なし。
InnoDB ストレージ エンジン: InnoDB ストレージ エンジンは当時サーバーの標準機能であり、バージョン 4.0 では追加オプションになりました。 InnoDb は、デフォルトの MyISAM テーブル タイプの代わりに ACID 準拠のトランザクションを許可するテーブル タイプであり、一般的な使用を高速化できますが、重要な操作にはあまり役に立ちません。
InnoDB テーブルは行レベルのロックを使用します。つまり、レコードの更新ではテーブル全体ではなく、そのレコードのみがロックされます。テーブル全体のロックは、選択範囲が大規模なデータベースにアクセスする場合 (ほとんどの Web サイトの場合と同様) はかなり高速ですが、挿入と更新の数がオプションの数に近づくと遅くなります。 MySQL に対する批判は長い間、MyISAM テーブルのセキュリティと一貫性の問題に焦点を当ててきましたが、ACID 準拠の InnoDB テーブルはこれらの問題の解決に大いに役立ちます。