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 タイピング ゲームを実装する方法

推薦する

CSS フレックスベースのテキストオーバーフロー問題の解決方法

重要でないflex-basisテキストオーバーフローに省略記号を追加するという小さな機能に多くの問題...

Dockerが新しいイメージをロードした後にリポジトリとタグ名が両方ともnoneになる問題を解決する

次のコマンドを使用できます: docker tag [イメージID] [名前]:[バージョン]例えば...

HTML コードの書き方に関する提案のまとめ

リソースファイルのプロトコルを省略する画像、メディアファイル、スタイル、スクリプトの URL では、...

MySQL 8.0.13 手動インストールチュートリアル

この記事では、MySQL 8.0.13の手動インストールチュートリアルを参考までに紹介します。具体的...

Nginx ロケーション設定(ロケーションのマッチング順序)の詳細な説明

ロケーションは「位置指定」を意味し、主にさまざまな位置指定のための URI に基づいています。これは...

MySQL 8.0 における非同期レプリケーションの 3 つの方法について簡単に説明します。

この実験では、空のデータベース、オフライン、オンラインの 3 つのモードで、1 つのマスターと 2 ...

Vue.jsは背景テーブルコンポーネントのカプセル化を管理します

目次問題分析なぜカプセル化なのかパッケージの内容は何ですか?テーブルコンポーネントをカプセル化するデ...

MySQLスローログに関する知識のまとめ

目次1. スローログの紹介2. スローログの練習1. スローログの紹介スロー ログの正式名称はスロー...

Linux ログ表示方法 6 つのまとめ

バックエンド プログラマーは、さまざまな場所で Linux を扱います。Linux ログの読み方がわ...

JavaScript バブルソートの例

目次1. バブルソートとは何か2. 例を挙げるラウンド1:第2ラウンド:第3ラウンド:第4ラウンド:...

MySQL のインデックスとデータ テーブルを管理する方法

目次テーブルの競合を見つけて修正するインデックス統計の更新テーブルの競合を見つけて修正するデータ テ...

Vueデータプロキシの詳細な説明

目次1. これからお話しするのは、フロントエンド担当者がvue-cliで完了できるソリューション、デ...

VS2022 リモート デバッグ ツールの使い方

WeChat 関連サービスをデバッグする場合など、職場のサーバー環境でリモートデバッグを行う必要があ...

本をめくる効果を実現するネイティブJS

この記事では、ネイティブ JS で実装された本をめくる効果の図を紹介します。効果は次のとおりです。 ...

MySQL 8.0.15 winx64 のインストールと設定方法のグラフィックチュートリアル (Windows の場合)

この記事では、MySQL 8.0.15 winx64のインストールと設定方法を参考までに紹介します。...