MySQL 8.0 リファレンスマニュアル


A.1 MySQL 8.0 FAQ: 全般

A.1.1. 本番で使用 (GA) できる MySQL はどのバージョンですか。
A.1.2. MySQL のバージョン番号付けでバージョン 6 および 7 がスキップされ、8.0 に直接移動したのはなぜですか。
A.1.3. MySQL 8.0 ではサブクエリーを実行できますか。
A.1.4. MySQL 8.0 では複数テーブルへの挿入、更新、および削除を実行できますか。
A.1.5. MySQL 8.0 にはシーケンスはありますか。
A.1.6. MySQL 8.0 には秒の小数部が返される NOW() 関数はありますか。
A.1.7. MySQL 8.0 はマルチコアプロセッサで動作しますか。
A.1.8. mysqld の複数のプロセスが表示されるのはなぜですか。
A.1.9. MySQL 8.0 は ACID トランザクションを実行できますか。

A.1.1.

本番で使用 (GA) できる MySQL はどのバージョンですか。

MySQL 8.0、5.7 および MySQL 5.6 は、本番用にサポートされています。

MySQL 8.0 は、2018 年 4 月 19 日に本番使用のためにリリースされた MySQL 8.0.11 で General Availability (GA) ステータスを達成しました。

MySQL 5.7 は MySQL 5.7.9 で一般提供 (GA) ステータスとなり、2015 年 10 月 21 日に本番使用のためにリリースされました。

MySQL 5.6 は MySQL 5.6.10 で一般提供 (GA) ステータスとなり、2013 年 2 月 5 日に本番使用のためにリリースされました。

MySQL 5.5 は MySQL 5.5.8 で一般提供 (GA) ステータスとなり、2010 年 12 月 3 日に本番使用のためにリリースされました。 MySQL 5.5 のアクティブな開発が終了しました。

MySQL 5.1 は MySQL 5.1.30 で一般提供 (GA) ステータスとなり、2008 年 11 月 14 日に本番使用のためにリリースされました。 MySQL 5.1 のアクティブな開発が終了しました。

MySQL 5.0 は MySQL 5.0.15 で一般提供 (GA) ステータスとなり、2005 年 10 月 19 日に本番使用のためにリリースされました。 MySQL 5.0 のアクティブな開発が終了しました。

A.1.2.

MySQL のバージョン番号付けでバージョン 6 および 7 がスキップされ、8.0 に直接移動したのはなぜですか。

この MySQL バージョンで導入された多くの新機能と重要な機能のため、新しいシリーズを開始することにしました。 シリーズ番号 6 および 7 は MySQL によって実際に使用されていたため、8.0 に移動しました。

A.1.3.

MySQL 8.0 ではサブクエリーを実行できますか。

はい。 セクション13.2.11「サブクエリー」を参照してください。

A.1.4.

MySQL 8.0 では複数テーブルへの挿入、更新、および削除を実行できますか。

はい。 複数テーブルへの更新の実行に必要な構文については、セクション13.2.13「UPDATE ステートメント」を参照してください。複数テーブルでの削除の実行に必要な構文については、セクション13.2.2「DELETE ステートメント」を参照してください。

複数テーブルへの挿入は、FOR EACH ROW 句の BEGIN ... END ブロック内に複数の INSERT ステートメントが含まれているトリガーを使用して実行できます。 セクション25.3「トリガーの使用」を参照してください。

A.1.5.

MySQL 8.0 にはシーケンスはありますか。

いいえ。ただし、MySQL には AUTO_INCREMENT システムがあり、MySQL 8.0 でマルチソースレプリケーション設定の挿入を処理することもできます。 auto_increment_increment および auto_increment_offset システム変数を使用して、各サーバーがほかのサーバーと競合しない自動インクリメント値を生成するように設定できます。 auto_increment_increment にはサーバーの数より大きい値を指定し、各サーバーが一意のオフセットを持つようにします。

A.1.6.

MySQL 8.0 には秒の小数部が返される NOW() 関数はありますか。

はい。セクション11.2.6「時間値での小数秒」 を参照してください。

A.1.7.

MySQL 8.0 はマルチコアプロセッサで動作しますか。

はい。 MySQL はマルチスレッド化されており、使用可能なすべての CPU を使用します。 すべての CPU を使用できるわけではありません。最新のオペレーティングシステムでは、基礎となるすべての CPU を使用できる必要がありますが、プロセスを特定の CPU または CPU のセットに制限することもできます。

Windows では、現在、mysqld が使用できる (論理) プロセッサの数に制限があります: シングルプロセッサグループ。最大 64 個の論理プロセッサに制限されます。

複数のコアの使用方法は次のとおりです:

  • 単一のコアは通常、1 つのセッションから発行されたコマンドを処理するために使用されます。

  • いくつかのバックグラウンドスレッドでは、バックグラウンド I/O タスクの移動を維持するためなど、余分なコアの使用が制限されています。

  • データベースが I/O-bound (容量未満の CPU 消費で示される) である場合、CPU の追加は複雑になります。 データベースが I/O-bound 部分と CPU ボンド部分にパーティション化されている場合でも、CPU の追加が役立つことがあります。

A.1.8.

mysqld の複数のプロセスが表示されるのはなぜですか。

mysqld は、マルチプロセスプログラムではなく単一プロセスプログラムであり、他のプロセスをフォークまたは起動しません。 ただし、mysqld はマルチスレッド化されており、一部のプロセスレポートシステムユーティリティでは、マルチスレッドプロセスのスレッドごとに個別のエントリが表示されるため、実際には複数の mysqld プロセスが表示される場合があります。

A.1.9.

MySQL 8.0 は ACID トランザクションを実行できますか。

はい。 MySQL の現在のすべてのバージョンでトランザクションがサポートされます。 InnoDB ストレージエンジンは、行レベルのロック、マルチバージョン、非ロックの反復可能読み取り、および 4 つのすべての SQL 標準分離レベルを持つ、完全な ACID トランザクションを提供しています。

NDB ストレージエンジンは、READ COMMITTED トランザクション分離レベルのみをサポートしています。


関連キーワード:  複数, 本番, バージョン, 実行, 一般, プロセス, サーバー, InnoDB, テーブル, mysqld