MySQL 4.1/5.0/5.1/5.5/5.6の主な違い

MySQL 4.1/5.0/5.1/5.5/5.6の主な違い

バージョン間でのコマンドの違い:

innodb ステータスを表示\G mysql-5.1
エンジン InnoDB ステータスを表示\G mysql-5.5

許可の付与について mysql-5.5 user@'%' には localhost が含まれていません

-----------------------------------------------------------------------

MySQL 4.1/5.0/5.1/5.5/5.6の主な違い

1. 4.1 では、サブクエリのサポートが追加され、文字セットに UTF-8 が追加され、GROUP BY ステートメントに ROLLUP が追加され、mysql.user テーブルに優れた暗号化アルゴリズムが使用されます。

2. 5.0 では、ストアド プロシージャ、ビュー、カーソル、トリガー、XA トランザクションのサポートが追加され、INFORATION_SCHEMA システム データベースが追加されました。

3. 5.1 イベント スケジューラ、パーティショニング、プラガブル ストレージ エンジン API、行ベースのレプリケーション、およびグローバル レベルでの一般クエリ ログとスロー クエリ ログの動的変更のサポートが追加されました。

4. 5.5の新機能

1) デフォルトのストレージエンジンがInnoDBに変更されました

2) パフォーマンスとスケーラビリティの向上

a. デフォルトのスレッド同時実行性の向上 (innodb_thread_concurrency)

b. バックグラウンド入出力スレッド制御 (innodb_read_io_threads、innodb_write_io_threads)

c. メインスレッドの入出力レート制御(innodb_io_capacity)

d. オペレーティングシステムのメモリ割り当てプログラム使用制御 (innodb_use_sys_malloc)

e. 適応ハッシュ インデックス (ハッシュ インデックス) コントロールでは、ユーザーは適応ハッシュ機能をオフにすることができます。

f. 挿入バッファリング制御では、ユーザーは InnoDB の挿入バッファリング機能をオフにすることができます。

g. 高速ロック アルゴリズムによりスケーラビリティを向上します。InnoDB はプロキシ (POSIX) スレッドを使用しませんが、ネイティブの独立した操作を使用して相互排他と読み取り/書き込みロックを完了します。

h. 復元されたグループコミット

i. 回復パフォーマンスの向上

j. 複数のバッファプールの例

k. 複数のロールバック セグメント。以前のバージョンの InnoDB では、最大 1023 の同時操作を処理できました。MySQL 5.5 では、最大 128K の同時トランザクションを処理できるようになりました。

l. Linux システムには非同期入出力が備わっており、MySQL 5.5 データベース システムでは Linux システムの同時入出力要求の数も増加します。

m. 拡張変更バッファ: 削除バッファとクリアバッファを追加

n. ログシステムの相互排他性と単一フラッシュリストの相互排他性を改善しました

o. パージ プログラムの進行状況を改善します。MySQL 5.5 では、パージ操作スレッドは独立したスレッドであり、同時実行をサポートします。innodb_purge_treads 構成を使用できます。

p. トランザクションにおけるメタデータのロックを改善します。たとえば、トランザクション内のステートメントでテーブルをロックする必要がある場合、テーブルは以前のようにステートメントの終了時ではなく、トランザクションの終了時に解放されます。

3) 実用性の向上

a. 半同期レプリケーション

b. ハートビートのコピー

c. 自動リレーログ回復

d. サーバーごとのレプリケーションフィルタリング

e. レプリケーションスレーブ側でサポートされるデータ型変換

4) 管理性と効率性の向上

a. より高速なインデックス作成

b. 効率的なデータ圧縮

c. 大きなオブジェクトと可変長の列に効率的なストレージを提供する

d. INFORMATION_SCHEMA テーブルを追加しました。新しいテーブルは、InnoDB の圧縮とトランザクション ロックに関する詳細な情報を提供します。

5) ユーザビリティの向上

a. SIGNAL/RESIGNALの新しいSQL構文

b. 新しいテーブル/インデックスのパーティション分割オプション。 MySQL 5.5 では、テーブルとインデックスの RANG および LIST パーティション範囲が非整数列と日付に拡張され、複数の列でパーティション分割する機能が追加されました。

6) 検出と診断の改善

MySQL 5.5 では、実行中の MySQL 監視サーバーのパフォーマンスを監視するための新しいパフォーマンス アーキテクチャ (performancn_schema、P_S) が導入されています。

5. 5.6 の新機能

1) InnoDB では、多数のテーブルが開かれた場合にメモリ使用量が過剰になる問題を制限できるようになりました (ここで述べたような問題) (サードパーティのパッチが利用可能)

2)InnoDBのパフォーマンス強化。カーネル ミューテックスの分割、メイン スレッドからのフラッシュ操作の分離、複数の perge スレッド、大容量メモリの最適化など。

3) InnoDBのデッドロック情報はエラーログに記録され、簡単に分析できます。

4) MySQL 5.6 は遅延レプリケーションをサポートしており、スレーブとマスターが時間間隔を制御できるため、特殊な状況でのデータ復旧が容易になります。

5) テーブルパーティショニング機能の強化

6) MySQL の行レベルのレプリケーションが強化され、ディスク、メモリ、ネットワーク、その他のリソースのオーバーヘッドが削減されました (行レコードを決定できるフィールドのみが記録されます)

7) Binlogはクラッシュセーフティを実装する

8) マスター/スレーブレプリケーションデータの一貫性を高めるために、レプリケーションイベントにCRC32検証が使用されます。

9) log_bin_basename を追加しました (以前は変数に binlog の位置情報がなく、データベースの監視に不便でした)

要約する

上記は、MySQL 4.1/5.0/5.1/5.5/5.6 の主な違いです。お役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。

以下もご興味があるかもしれません:
  • MySQL のエッセンシャルバージョンと通常バージョンの違いは何ですか?

<<:  Dockerデータストレージの概要

>>:  VUE と Canvas を使用して Thunder Fighter タイピング ゲームを実装する方法

推薦する

js はマウスによる画像の切り替えを実装します (タイマーなし)

この記事の例では、マウス切り替え画像を実現するためのjsの具体的なコードを参考までに共有しています。...

一般的なメールボックスで正常に表示できる HTML メールを作成するためのヒント

HTML メールを送信するためのヒント: スタイルを使用してインライン CSS を記述する、使用する...

MySql 8.0.11-Winxp64 (無料インストール版) ​​設定チュートリアル

1. インストールディレクトリにzipパッケージを解凍します。まず、mysql-8.0.11-win...

DockerコンテナがSongtiなどのフォントを認識しない場合の解決策

問題の背景: docker を使用してプロジェクトをデプロイする場合、プロジェクト内で印刷コントロー...

js メモリ リークのシナリオ、それらを詳細に監視および分析する方法

目次序文どのような状況でメモリリークが発生する可能性がありますか? 1. 偶発的なグローバル変数2....

IE6 で JS エラーが発生し、CSS が適用されない HTML エンコードの問題の解決策

テストでは、ページ定義がutf-8でエンコードされている場合、 js ファイルに中国語などのマルチバ...

フロントエンドJSサンドボックスを実装するいくつかの方法についての簡単な説明

目次序文iframeはサンドボックスを実装しますdiffメソッドを使用したサンドボックスの実装プロキ...

FileZilla_Server:425 データ接続を開けない問題を解決する方法

FileZilla Serverをサーバーにインストールすると、425データ接続を開けない問題が発生...

DockerでHadoopを実行しイメージを作成する方法

車輪の再発明として、ここでは再パッケージ化を使用して Docker ベースの Hadoop イメージ...

HTML タグ: サブタグと sup タグ

今日はあまり使わないHTMLタグ「subタグ」と「supタグ」を紹介します。関連記事: HTML タ...

MySQL 8.0 DDLアトミック機能と実装原則

1. DDLアトミック性の概要8.0 より前は、統一されたデータ ディクショナリ dd はありません...

Node.js mysqlクライアントが認証プロトコルをサポートしていない問題を解決する

序文mysql モジュール (プロジェクト アドレスは https://github.com/mys...

MySQLのファジークエリの要約

1. 一般的な使用法: (1)%で使用する% は 1 つ以上の文字のワイルドカードを表します。たとえ...

JS の new 関数の詳細な説明

目次1. 例2. 兵士100人を作成する3. 質問4. 改善点5. エレガント? 6. JSの父から...

MySQLの結合の基本原理についての簡単な説明

目次結合アルゴリズム駆動テーブルと非駆動テーブルの違い1. 単純なネストループ結合、単純なネスト、イ...