ヤマムギ

growing hard days.

*

MySQL勉強会 in 大阪(第10回)に行ってきました

      2017/04/18


MySQL勉強会 in 大阪(第10回)に行ってきました。

オプティマイザー、GIS、キャラクタセットなどの開発を管理しているMySQLの開発チームマネージャーのManyi Luさんが来日してお話してくれるという貴重な貴重な勉強会でした。

MySQL 8.0での文字コード、コレーション関連の話

開発中の次のメジャーバージョンの8.0

SELECT….. FOR UPDATE SKIP LOCKED

ロックされている行を飛ばしてアップデートのためにロックされていない行をロックして、リザルトとして返す

SELECT….. FOR UPDATE NOWAIT

ロックされている行が対象にあると待たずにエラーを返す

NOWAIT も SKIP LOCKEDも付けない従来のSELECT….. FOR UPDATEはロックが終わるまで待つ

Common Table

with句でサブクエリを宣言しておいて、クエリで再利用することが出来る
再帰クエリなどで有効に使える。
読みやすくなりそう。

WITH RECURSIVE

Invisible Index

一時的にOptimizerからインデックスを見せなくして、インデックスがない状態を試すことが出来る

Descending Index

降順インデックスが作れる

JSON Aggregation

5.7からJSONドキュメントをそのまま格納出来る
JSONを扱うための関数がいくつか追加された
JSON_OBJECTAGG 複数のJSONドキュメントを1つにまとめるなど

Hint

人間の方がOptimizerより賢い場合に使う

Optimizer Trace

Optimizerがどう判断しているかがトレース出来る

Unicode 9.0 対応

デフォルトはutf8mb4

Window関数

分析系の処理で役に立つ

ロードマップ

  • Window関数
  • JSON TABLE関数
  • improved statics : histogram
  • improved prepared statement/cache query plan
  • Optimization for language specfic collations
    日本語の文字照合順の性能の改良

Japanese Collation

時間も力もかけている
CLDR Sorting rule : ひらがながカタカナより先

UNICODE のweightを使ってソートしているのでハとパが同じだったが8.0で解消される

utf8mb4_ja_0900_as_cs_ks
utf8mb4_ja_0900_as_cs

全角カナと半角カナは同じ文字としてみなす
全角数字と半角数字も同じ文字としてみなす

VSS コードが同じなので識別できない(保存はされる?)
SQLServer , DB2では実装されているがONにすると遅くなる
邉は異体字が17種類ある

WSS コードが違うので識別できるが逆に同じとして扱えない

外字は外字空間にアプリケーション側でバイナリでぶっこめばいい
この制御はアプリケーション側でやるべき

バグ報告はしたほうがいい

  • 機能を使っていることが分かる
  • 使い方が分かる
  • ユニコード標準ではひらがなとカタカナが識別出来なかったがユーザーの声で識別出来るべきになった

Emoji Modifiers

@t_motookaさん

感想

日本語対応については時間も力もかけているというだけあってその話にすごく熱が入ってました。
漢字の扱いはどうするべきか、とかカナは全角と半角で識別するべきか、とか、参加者に聞いてもらって、MySQLの仕様を決めるミーティングに参加しているようなそんな気持ちになる勉強会でした。

@yamamanx

開発ベンダー5年、ユーザ企業システム部門通算9年、ITトレーナー1年目のSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。

このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。

また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。

 - study ,

ad

ad

  関連記事

MonotaRO TechTalk #4「データ分析」に行ってきました

本日の一杯目。MonotaRO TechTalk #4「データ分析」もちろん呑み …

Agile Japan 2015 大阪サテライト「アジャイル開発への架け橋」に行ってきました

Agile Japan 2015 大阪サテライトに行ってきました。 具体的な目的 …

Java SE 7 Silver対策勉強をしながらメモ 2015/2/8

今日から練習問題を再確認。 ひと通りテキストを終えた安心感からかイージーミスが連 …

Oracle Java SE7 Silverを受験してみて

受験の目的 Goldの前提条件だから Gold資格を取得する目的は技術レベルを理 …

Developers Summit 2018 「Kubernetesを用いた最強のマイクロサービス環境をGKEで実現しよう」を聞きました

以下は、思ったことや気になったことをメモしていますので、必ずしも登壇者の発表内容 …

DevLove関西 「プロジェクトマネジメントの勘所」に行ってきました

DevLove関西 「プロジェクトマネジメントの勘所」に行ってきました。 サイボ …

AWS Summit 2016 Tokyoに参加してきました (Day3)

飛天3日目です。 JAWS-UGブースのすぐ前にあったこのお水がめちゃめちゃおい …

Java SE 7 Silver受験直前 練習問題総確認 2015/2/14

カーリング中継見ながら、iTunesシャッフルでかけながら、練習問題。 集中って …

Java SE 7 Silver 試験対策セミナーで模擬問題の解説をマークダウンでメモってみた

Java SE 7 Silver 試験対策セミナーに行って、模擬問題にチャレンジ …

Developers Summit 2018 「「技術内閣制度」2年間やってきて得られた事とこれから ~開発チーム横断での技術課題解決、技術力強化、エンジニア文化醸成」を聞きました

以下は、思ったことや気になったことをメモしていますので、必ずしも登壇者の発表内容 …