mysql8.0とmysql5.7の違いは何ですか?

青灯夜游
リリース: 2020-11-30 10:56:38
オリジナル
37354 人が閲覧しました

相違点: mysql8.0 のインデックスは非表示と表示が可能です。インデックスが非表示の場合、クエリ オプティマイザによって使用されません。2. Mysql8.0 には新しい "SET PERSIST" コマンドがあります。 3 . mysql8.0 以降、データベースのデフォルトのエンコードは、すべての絵文字を含む utf8mb4 に変更されます。

mysql8.0とmysql5.7の違いは何ですか?

(推奨チュートリアル: mysql ビデオ チュートリアル )

mysql8.0 および mysql5。 7 の違いは

1 NoSql storage

Mysql はバージョン 5.7 から NoSQL ストレージ機能を提供していますが、この部分は 8.0 で修正されていますが、実用的ではありません
mysql8.0とmysql5.7の違いは何ですか?

2 ではほとんど使用されません。隠しインデックス

隠しインデックス機能は、パフォーマンスのデバッグに非常に役立ちます。8.0 では、インデックスを非表示にしたり表示したりできます。インデックスが非表示になると、クエリ オプティマイザーによって使用されなくなります。
mysql8.0とmysql5.7の違いは何ですか?
つまり、インデックスを非表示にして、データベースへの影響を観察できます。パフォーマンスが低下した場合は、これはインデックスが有効であることを意味するため、「表示を復元」するだけです。データベースのパフォーマンスに変化がない場合は、インデックスが大きすぎるため削除してもよいことを意味します。 Index

ALTER TABLE t ALTER INDEX i INVISIBLE;
ログイン後にコピー

表示を復元する インデックスの構文は次のとおりです。

ALTER TABLE t ALTER INDEX i VISIBLE;
ログイン後にコピー

インデックスが非表示の場合、showindex コマンドの出力概要から、表示されている属性値が表示されていることがわかります。インデックスは No

**注:** インデックスが非表示になっている場合でも、そのコンテンツは通常のインデックスと同様にリアルタイムで更新されます。この機能自体は、特に最適化とデバッグに使用されます。長い間、インデックスの存在がデータに影響を与えるため、インデックスを強制終了した方がよいでしょう。挿入/更新および削除関数

3. 永続性の設定

MySQL 設定は、次の場所で変更できます。ただし、この変更は、次回起動時にデータベースが構成ファイルから読み取られるまで一時的にのみ有効になります。

MySQL 8 では、SET PERSIST コマンドが追加されました。例:

SET PERSIST max_connections = 500;
MySQL は、このコマンドの設定をデータ ディレクトリの mysqld-auto.cnf ファイルに保存し、起動します。次回、ファイルが読み取られ、その中の設定がデフォルトの設定ファイルを上書きするために使用されます。

4.UTF-8 エンコーディング

MySQL 8 以降、データベースのデフォルトのエンコーディングは、すべての絵文字を含む utf8mb4 に変更されます。長年にわたり、私たちはデフォルトのラテン文字の変更を忘れてコード化けの問題が発生することを恐れて、MySQL を使用する際のコーディングには注意してきました。これからはもう心配ありません。

5. 共通テーブル式

複雑なクエリでは埋め込みテーブルが使用されます (例:

SELECT t1.*, t2.* FROM
	 (SELECT col1 FROM table1) t1,
	 (SELECT col2 FROM table2) t2;
ログイン後にコピー

CTE を使用すると、次のように記述できます:

	WITH
	 t1 AS (SELECT col1 FROM table1),
	 t2 AS (SELECT col2 FROM table2)
	SELECT t1.*, t2.* 
	FROM t1, t2;
ログイン後にコピー

このようにすると、レベルとエリアがより明確に表示され、変更を加えるときにどの部分を変更すればよいかがより明確になります。

この機能は、多くのレポート シナリオで非常に役立ち、mysql 最適化の非常に重要な機能でもあります。

1.235 ウィンドウ関数
MySQL の最も批判されている機能の 1 つは、rank() 関数がないことです。クエリ内でランキングを達成する必要がある場合、@ 変数を手動で記述する必要があります。しかし、MySQL 8.0 以降、MySQL にはウィンドウ関数と呼ばれる新しい概念が追加されており、これを使用していくつかの新しいクエリ メソッドを実装できます。
ウィンドウ関数は、SUM() や COUNT() などの集計関数に少し似ていますが、複数行のクエリ結果を 1 行にマージするのではなく、結果を複数行に戻します。つまり、ウィンドウ関数には GROUP BY は必要ありません。
「クラスの生徒数」の表があるとします。


クラスのサイズを小規模から大規模までランク付けしたい場合は、次のようにウィンドウ関数を使用できます。 mysql8.0とmysql5.7の違いは何ですか?

説明 : ここでは w という名前のウィンドウを作成し、stu_count フィールドをソートし、select 句内の w に対して Rank() メソッドを実行し、結果をランクとして出力するように指定しています。分野。 mysql8.0とmysql5.7の違いは何ですか? この機能は Oracle11g の新機能でもあり、最適化において非常に重要な役割を果たします。

プログラミング関連の知識について詳しくは、

プログラミング入門

をご覧ください。 !

以上がmysql8.0とmysql5.7の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!