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

推薦する

Linux環境でglogログライブラリを使用する方法

Linuxライブラリを生成するLinux版はcentos7.3を使用し、コンパイルしてライブラリを生...

dl、dt、dd リスト ラベルの例

dd タグと dt タグはリストに使用されます。通常は <ul><li> タ...

vue+element を使用した Google プラグインの開発プロセス全体

シンプルな機能: ブラウザの右上隅にあるプラグイン アイコンをクリックすると小さなポップアップ ウィ...

Vueはコンピュータカメラを呼び出して写真機能を実現します

この記事の例では、コンピュータカメラを呼び出して写真機能を実現するためのvueの具体的なコードを参考...

JVM 上の高性能データ形式ライブラリ パッケージである Apache Arrow の紹介とアーキテクチャ (Gkatziouras)

Apache Arrow は、BigQuery を含むさまざまなビッグデータ ツールで使用される一...

Nginx プロキシを使用してフロントエンドのクロスドメイン問題を解決する方法

序文Nginx (「エンジン エックス」と発音) は、リバース プロキシ、ロード バランサ、HTTP...

Vue+elementuiはドロップダウンテーブルの複数選択と検索機能を実現します

この記事では、ドロップダウンテーブルの複数選択と検索を実現するためのvue+elementuiの具体...

CSS3プロパティline-clampはテキスト行の使用を制御します

説明: ブロック要素に表示されるテキストの行数を制限します。 -webkit-line-clamp ...

CentOS 8 に htop をインストールする方法のチュートリアル

システムをインタラクティブに監視したい場合は、htop コマンドが最適な選択肢の 1 つです。 ht...

Nodejs は readline を使用してコンテンツ入力を促すサンプルコード

目次序文1. batがjsを実行する2. ターミナルにバージョン番号を入力してパッケージ化コマンドを...

JavaScript strictモードの概要 strictを使用する

目次1. 概要1.1 厳密モードとは何ですか? 1.2 厳密モードの目的2. 厳密モードを有効にする...

SQLシリアル番号取得コード例

この記事は主にSQLシリアル番号取得コード例を紹介します。記事ではサンプルコードを詳細に紹介しており...

MySQL における := と = の違いをグラフィカルに紹介

:= と = の違い=設定および更新の場合にのみ、:= と同じ効果、つまり代入効果があり、それ以外の...

JavaScript で localStorage を使用する方法

.NET の世界に参入したい開発者であれば、何が可能なのかを知る必要があります。 .NET Fram...