いまいまMySQL@OSC2016福岡

>100 Views

November 19, 16

スライド概要

2016.11.19 に福岡県福岡市で開催された オープンソースカンファレンス(OSC)2016-Fukuoka での日本MySQLユーザ会発表枠の発表資料です。

初出URL:https://www.slideshare.net/sakaik/mysqlosc2016-75955731

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

2016/11/19 OSC2016-Fukuoka 日本MySQLユーザ会(MyNA) 坂井 恵 (@sakaik )

2.

AGENDA

3.

Who am I? • 坂井 恵 (さかい けい) @sakaik • 日本MySQLユーザ会(MyNA)副代表 • MySQLは趣味です • 千葉県から来ました

4.

Who am I? 最近、査読でお手伝いさせていただいた本 実際の活用範囲は限定的かもしれない けれども、たぶんこの本は、 あなたのSQLの【幅】を広げてくれます -- sakaik, 2016

5.

MySQL 5.7 登場 • 2015年10月 • MySQL 5.7.9 ~ • 2016年11月13日現在、MySQL 5.7.16 が最新 • 個人的印象では「MySQL史上 最大の進化」

6.

5.7に到るまでの道のり 5.0 5.1 5.5 5.4 6.0 5.6 5.7

7.

5.7に到るまでの道のり

8.

詳解MySQL5.7の紹介

9.

詳解MySQL5.7の紹介 • 奥野幹也氏 著 • 2016年8月 刊 • MySQL おさかな の本 NEW!! 5.7 の進化部分だけに絞った本 • 背景の説明もしっかりなので、 「MySQL Internals」な入門書としてもオススメ

10.

MySQL 5.7 進化の内容 たくさんの進化ポイントがありますが、 要するに、、、、、 • より速く • より安全に • より便利に

11.

MySQL 5.7 進化の内容 言い換えると、 • ①速くなった • ②安全になった。安定性が向上した • ③機能がいくつか(いくつも)増えた

12.

MySQL5.7: ①速度の向上 • 同時実行性能 • 多CPU • 不要な内部処理の省略

13.

MySQL5.7:②安定性の向上 • 主に、障害(突然の電源断)に関する耐久性 の向上 • セキュリティ(ユーザ管理等を含む)の仕組み の充実

14.

MySQL5.7:③新機能 • JSON対応/ドキュメントストア – JSONデータ型、JSON関数 • GIS機能の整備 – GIS関数名の整理と拡充 • レプリケーションの進化 – マルチソースレプリケーション – マルチスレッドスレーブ • 生成カラム(GENERATED COLUMN) • 内部情報を見るしくみの充実 – PERFORMANCE_SCHEMA、sysスキーマ

15.
[beta]
MySQL5.7 新機能:

GENERATED COLUMN
日本語で「生成列」とも。
mysql> CREATE TABLE gentest (a int, b int, c int GENERATED ALWAYS AS (a+b));
mysql> INSERT INTO

gentest (a,b) values (3,5),(2,9);

mysql> SELECT * FROM gentest;
+------+------+------+
| a
| b
| c
|
+------+------+------+
|
3 |
5 |
8 |
|
2 |
9 |
11 |
+------+------+------+
mysql> CREATE TABLE gentest2 (a int, b int,
c int GENERATED ALWAYS AS ((a+b)*rand()));
ERROR 3102 (HY000): Expression of generated column 'c' contains a disallowed
function.

16.

GENERATED COLUMN col_name data_type [GENERATED ALWAYS] AS (expression) [VIRTUAL | STORED] [UNIQUE [KEY]] [COMMENT comment] [[NOT] NULL] [[PRIMARY] KEY] ※実は GENERATED ALWAYS 句は省略可能

17.

GENERATED COLUMN col_name data_type [GENERATED ALWAYS] AS (expression) [VIRTUAL | STORED] [UNIQUE [KEY]] [COMMENT comment] [[NOT] NULL] [[PRIMARY] KEY] mysql> CREATE TABLE gentest (a int, b int, c int GENERATED ALWAYS AS (a+b)); mysql> CREATE TABLE gentest (a int, b int,c int AS (a+b));

18.

SQLモードのデフォルト値 • SQL_MODE: ONLY_FULL_GROUP_BY がデフォ ルトでオンになった ↓ • 雑なクエリが書けなくなって歓迎! (きっとどこかで悲鳴が)

19.

SQL_MODE: ONLY_FULL_GROUP_BY こんなクエリを書いていませんか? 例: SELECT mycode, name, count(*) FROM tbl1 GROUP BY mycode;

20.

SQL_MODE: ONLY_FULL_GROUP_BY 例: × SELECT mycode, name, count(*) FROM tbl1 GROUP BY mycode; ○ SELECT mycode, name, count(*) FROM tbl1 GROUP BY mycode, name;

21.

SQL_MODE: ONLY_FULL_GROUP_BY これで「SQLを勉 強したい人」にも MySQLをお勧め できる!!

22.

SQL_MODE: ONLY_FULL_GROUP_BY こんな方法もある: × SELECT mycode, name, count(*) FROM tbl1 GROUP BY mycode; △ SELECT mycode, ANY_VALUE(name), count(*) FROM tbl1 GROUP BY mycode;

23.

SQLモードのデフォルト値(おさらい) MySQL 5.7 • SQL_MODE: ONLY_FULL_GROUP_BY がデフォルトでオンになった

24.

MySQL5.7新機能: ドキュメントストア ものすごく大雑把に言うと ガンガン登録したり検索したりできる機能

25.

MySQL5.7新機能: ドキュメントストア MySQL MySQL 関数』 MySQL MySQL MySQL MySQL ア』 5.7.7 RC 5.7.8 RC 『JSON型/JSON 5.7.9 GA!! 5.7.10 5.7.11 5.7.12 『ドキュメントスト 突如登場!

26.

MySQL5.7新機能: ドキュメントストア MySQL 5.7 Reference manual

27.

MySQL5.7新機能: ドキュメントストア • MySQL 5.7.12 ~ • JSON型/JSON関数のサポート • X Plugin: 33060ポート • MySQL Shell (mysqlsh) MySQL 5.7 Reference manual

28.

MySQL5.7新機能: ドキュメントストア mysqlshで、python や JavaScript でコマンド ライン操作が可能 NoSQL的な。

29.

情報スキーマ系 INFORMATION_SCHEMA PERFORMANCE_SCHEMA Sysスキーマ

30.

(再掲)詳解MySQL5.7の紹介 • 奥野幹也氏 著 • 2016年8月 刊 • MySQL おさかな の本 NEW!! 5.7 の進化部分だけに絞った本 • 背景の説明もしっかりなので、「MySQL Internals」な入門書としてもオススメ

31.

あたらしくなった MySQL 5.7 ぜひお試しください

33.

One more thing…

34.

MySQL 8.0.0 登場 (2016/09/12)

35.

MySQL 8.0.0 主なトピック 2016年9月12日登場! • データディクショナリがInnoDBに • デフォルトのキャラセットがutf8系に? • CTE(共通表式)(予定) • ロール http://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html

36.

5.7に到るまでの道のり(再掲) 5.0 5.1 8.0 5.5 5.4 6.0 5.6 5.7

37.

ご静聴ありがとうございました