2016/09/24
OSC2016-Shimane
日本MySQLユーザ会(MyNA)
坂井 恵 (@sakaik )
おしらせ
https://dbstudychugoku.github.io/
Software Desigh 2016年10月号
第2特集
(紹介)中国地方DB勉強会: 曽根壮大さん
AGENDA
Who am I?
• 坂井 恵 (さかい けい)
@sakaik
• 日本MySQLユーザ会(MyNA)副代表
• MySQLは趣味です
• 千葉県から来ました
• OSC島根は7年ぶりくらい
田
Who am I?
最近、査読でお手伝いさせていただいた本
実際の活用範囲は限定的かもしれない
けれども、
たぶん、あなたのSQLの【幅】が広がります
-- sakaik, 2016
MySQL 5.7 登場
• 2015年10月
• MySQL 5.7.9 ~
• 2016年9月23日現在、MySQL 5.7.15 が最新
• 個人的印象では「最大の進化」
5.7に到るまでの道のり
5.7
5.6
5.1
5.0
6.0
5.55.4
5.7に到るまでの道のり
詳解MySQL5.7の紹介
詳解MySQL5.7の紹介
• 奥野幹也氏 著
• 2016年8月 刊
• MySQL 5.7の進化部分だけに絞った本
• 背景の説明もしっかりなので、「MySQL
Internals」な入門書としてもオススメ
NEW!!
MySQL 5.7 進化の内容
たくさんの進化ポイントがありますが、
要するに、、、、、
• より速く
• より安全に
• より便利に
MySQL 5.7 進化の内容
言い換えると、
• 速くなった
• 安全になった。安定性が向上した
• 機能がいくつか(いくつも)増えた
MySQL5.7: 速度の向上
• 同時実行性能
• 多CPU
• 不要な内部処理の省略
MySQL5.7:安定性の向上
• 主に、障害(突然の電源断)に関する耐久性
の向上
• セキュリティ(ユーザ管理等を含む)の仕組み
の充実
MySQL5.7:新機能
• JSON対応/ドキュメントストア
– JSONデータ型、JSON関数
• GIS機能の整備
– GIS関数名の整理と拡充
• レプリケーションの進化
– マルチソースレプリケーション
– マルチスレッドスレーブ
• 生成カラム(GENERATED COLUMN)
• 内部情報を見るしくみの充実
– PERFORMANCE_SCHEMA、sysスキーマ
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.
• SQL_MODE: ONLY_FULL_GROUP_BY がデフォ
ルトでオンになった
↓
• 雑なクエリが書けなくなって歓迎!
(きっとどこかで悲鳴が)
SQLモードのデフォルト値
例:
×
SELECT mycode, name, count(*)
FROM tbl1
GROUP BY mycode;
SQL_MODE: ONLY_FULL_GROUP_BY
MySQLの(SQL学習者にとって)
イケてなかったところ
例:
×
SELECT mycode, name, count(*)
FROM tbl1 GROUP BY mycode;
○
SELECT mycode, name, count(*)
FROM tbl1 GROUP BY mycode, name;
SQL_MODE: ONLY_FULL_GROUP_BY
MySQL5.7新機能:
ドキュメントストア
MySQL 5.7 Reference manual
MySQL5.7新機能:
ドキュメントストア
MySQL 5.7 Reference manual
• MySQL 5.7.12 ~
• JSON型/JSON関数のサポート
• X Plugin: 33060ポート
• MySQL Shell (mysqlsh)
あたらしくなった
MySQL 5.7
ぜひお試しください
One more thing…
MySQL
8.0.0
登場 (2016/09/12)
ご静聴ありがとうございました

いまいまMySQL@OSC2016島根