MySQL勉強会 in 大阪(第10回)

MySQL勉強会 in 大阪(第10回) 関連のツイートまとめです。 https://atnd.org/events/86982
0
SSSS.からあげ @rzl5

mysql勉強会きた、マーニーさんがきてるよ! #mysql_jp pic.twitter.com/wgiMF39Nid

2017-04-11 19:10:16
拡大
Yoshiaki Yamasaki @yyamasaki1

MySQL 8.0で SELECT FOR UPDATE に SKIP LOCKED と NO WAIT オプションを追加。SKIP LOCKEDはロックが取れなかった行に対するロック取得をあきらめる。NO WAITはロックが取れなかったらすぐにエラーを返す。 #mysql_jp

2017-04-11 19:33:01
Yoshiaki Yamasaki @yyamasaki1

MySQL 8.0でCTE(Common Table Expression)を追加(祝!LabsからDMRへ昇格:D)。WITH句でFROM句に指定する副問合せを事前に定義し主問合せで呼び出せる。SQLの可読性の向上だけでなくパフォーマンス向上の利点もあり。#mysql_jp

2017-04-11 19:37:35
Yoshiaki Yamasaki @yyamasaki1

再帰的CTEも使えるので、再帰的クエリーも実行可能になる。代表的な使用例は、階層構造を持ったデータを1回のSQLで参照できる。例:従業員表を検索して、上司部下の関係の一覧表を作れる。(上司の上司もたどれる) #mysql_jp

2017-04-11 19:40:29
Yoshiaki Yamasaki @yyamasaki1

INVISIBLE INDEX:オプティマイザから見えない索引。不要なインデックスを削除したい時に、安全にインデックスを削除するために活用可能。インデックスをINVISIBLE化 ⇒ パフォーマンスへの悪影響が無ければ削除、悪影響があれば元に戻せる。 #mysql_jp

2017-04-11 19:44:00
yoku0825 @yoku0825

@yyamasaki1 これ、オプティマイザーが実行計画を迷わなくなる以上の速度向上ってあるんです?

2017-04-11 19:48:36
Yoshiaki Yamasaki @yyamasaki1

降順索引(Descending Indexes)(祝!LabsからDMRへ昇格:D):降順で参照することが多い列があれば、索引を降順で作成することでパフォーマンス向上が期待できる。 #mysql_jp

2017-04-11 19:49:02
yoku0825 @yoku0825

@yyamasaki1 再起CTEのベンチマークはよ(とお伝えください)

2017-04-11 19:49:04
yoku0825 @yoku0825

@yyamasaki1 同じ列に対してASCインデックスとDESCインデックスがある時、オプティマイザーは正しい方を選べそうですか?

2017-04-11 19:50:19
Yoshiaki Yamasaki @yyamasaki1

@yoku0825 FROM句内で同じ副問合せを2回以上使っている場合、複数回同じ問い合わせが実行されてしまいますが、WITHで定義しておけば1回実行した結果セットを複数回使いまわせます。

2017-04-11 19:50:23
Yoshiaki Yamasaki @yyamasaki1

コストモデルの改善:オプティマイザがデータがメモリ上にあるか、ディスク上にあるかを判断してコスト見積もりを変えることで、より適切な実行計画を選択できるように改善。 #mysql_jp

2017-04-11 19:51:31
yoku0825 @yoku0825

@yyamasaki1 バッファプールを舐めますか? それともp_sのように統計情報を持ちますか? サンプリングですか?

2017-04-11 19:52:59
Yoshiaki Yamasaki @yyamasaki1

新しいJSON関数の追加:JSON_ARRAYAGG() 複数行のJSONデータを1つのJSONデータに集約可能。JSON_OBJECTAGG() 複数行のJSONデータをグルーピングして集約可能。 #mysql_jp

2017-04-11 19:59:07
Yoshiaki Yamasaki @yyamasaki1

[説明を加筆して再掲載] 新しいJSON関数の追加:JSON_ARRAYAGG() 複数行のJSONデータを1つのJSONデータに集約可能。JSON_OBJECTAGG() 複数行のJSONデータをグルーピングしてグループ毎に1つのJSONデータに集約可能。 #mysql_jp

2017-04-11 20:00:38
yoku0825 @yoku0825

ARRAYAGGとOBJAGGはGAまでに仕様が変わるだろうなー(DMRとはそういうもの)

2017-04-11 20:06:31
🐬🍣🍻 @RKajiyama

超高速でMySQL 8.0のWindows関数の○○な機能の解説を逐次通訳中。同時にツイートするのはきびしい

2017-04-11 20:18:50
Yoshiaki Yamasaki @yyamasaki1

@yoku0825 とりあえずこちらをご確認ください。 The MySQL 8.0.1 Milestone Release is available / mysqlserverteam.com/the-mysql-8-0-… #mysql_jp

2017-04-11 20:21:32