- yyamasaki1
- 990
- 0
- 0
- 0
MySQL 8.0で SELECT FOR UPDATE に SKIP LOCKED と NO WAIT オプションを追加。SKIP LOCKEDはロックが取れなかった行に対するロック取得をあきらめる。NO WAITはロックが取れなかったらすぐにエラーを返す。 #mysql_jp
2017-04-11 19:33:01MySQL 8.0でCTE(Common Table Expression)を追加(祝!LabsからDMRへ昇格:D)。WITH句でFROM句に指定する副問合せを事前に定義し主問合せで呼び出せる。SQLの可読性の向上だけでなくパフォーマンス向上の利点もあり。#mysql_jp
2017-04-11 19:37:35再帰的CTEも使えるので、再帰的クエリーも実行可能になる。代表的な使用例は、階層構造を持ったデータを1回のSQLで参照できる。例:従業員表を検索して、上司部下の関係の一覧表を作れる。(上司の上司もたどれる) #mysql_jp
2017-04-11 19:40:29INVISIBLE INDEX:オプティマイザから見えない索引。不要なインデックスを削除したい時に、安全にインデックスを削除するために活用可能。インデックスをINVISIBLE化 ⇒ パフォーマンスへの悪影響が無ければ削除、悪影響があれば元に戻せる。 #mysql_jp
2017-04-11 19:44:00降順索引(Descending Indexes)(祝!LabsからDMRへ昇格:D):降順で参照することが多い列があれば、索引を降順で作成することでパフォーマンス向上が期待できる。 #mysql_jp
2017-04-11 19:49:02@yyamasaki1 同じ列に対してASCインデックスとDESCインデックスがある時、オプティマイザーは正しい方を選べそうですか?
2017-04-11 19:50:19@yoku0825 FROM句内で同じ副問合せを2回以上使っている場合、複数回同じ問い合わせが実行されてしまいますが、WITHで定義しておけば1回実行した結果セットを複数回使いまわせます。
2017-04-11 19:50:23コストモデルの改善:オプティマイザがデータがメモリ上にあるか、ディスク上にあるかを判断してコスト見積もりを変えることで、より適切な実行計画を選択できるように改善。 #mysql_jp
2017-04-11 19:51:31新しいJSON関数の追加:JSON_ARRAYAGG() 複数行のJSONデータを1つのJSONデータに集約可能。JSON_OBJECTAGG() 複数行のJSONデータをグルーピングして集約可能。 #mysql_jp
2017-04-11 19:59:07[説明を加筆して再掲載] 新しいJSON関数の追加:JSON_ARRAYAGG() 複数行のJSONデータを1つのJSONデータに集約可能。JSON_OBJECTAGG() 複数行のJSONデータをグルーピングしてグループ毎に1つのJSONデータに集約可能。 #mysql_jp
2017-04-11 20:00:38@yoku0825 とりあえずこちらをご確認ください。 The MySQL 8.0.1 Milestone Release is available / mysqlserverteam.com/the-mysql-8-0-… #mysql_jp
2017-04-11 20:21:32