Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
MySQL 8
Search
とみたまさひろ
May 23, 2018
Technology
0
76
MySQL 8
MySQL Innovation Day Tokyo 2018/5/23 のスライド
とみたまさひろ
May 23, 2018
Tweet
Share
More Decks by とみたまさひろ
See All by とみたまさひろ
私のRSpecの書き方 / How I write RSpec
tmtms
4
1k
ショートカットと端末 / shortcut & terminal
tmtms
2
190
文字ときどきRuby / Character and Ruby (NSEG)
tmtms
2
1.4k
文字ときどきRuby / Character and Ruby
tmtms
0
270
Linux用キーリマッパーを作る技術 / How to make Key Remapper
tmtms
0
270
MIMEヘッダエンコーディングは複雑すぎてつらい / MIME header encoding is hard
tmtms
3
1.3k
Net::SMTP
tmtms
1
230
MySQL Parameters の裏側 / MySQL Parameters backend
tmtms
1
380
MySQLユーザ会のこれまでとこれから / MyNA past and future
tmtms
0
66
Other Decks in Technology
See All in Technology
SREとその組織類型
tatsuo48
9
1.6k
WebアプリケーションにおけるPDOの使い方入門 / phpcon odawara 2024
meihei3
2
440
[PlatformCon 24] Platform Orchestrators: The Missing Middle of Internal Developer Platforms?
danielbryantuk
1
770
〜小さく始めて大きく育てる〜データ分析基盤の開発から活用まで
kniino
0
2.1k
継続的な改善 x ⾮連続的な進化
sansantech
PRO
3
120
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
110
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
280
NgRx Signal Store
rainerhahnekamp
0
140
AWS認定資格を取得したので、初めてマネコンを触った時を振り返ってみた。
ainatsuptr
2
100
VS CodeでAWSを操作しよう
smt7174
7
1.5k
HEXA OSINT CTF V3 作戦会議
meow_noisy
0
120
「スニダン」開発組織の構造に込めた意図 ~組織作りはパッションや政治ではない!~
rinchsan
3
390
Featured
See All Featured
WebSockets: Embracing the real-time Web
robhawkes
59
7k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
Web development in the modern age
philhawksworth
202
10k
Why You Should Never Use an ORM
jnunemaker
PRO
50
8.6k
Code Reviewing Like a Champion
maltzj
513
39k
A Modern Web Designer's Workflow
chriscoyier
688
190k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
77
42k
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
A designer walks into a library…
pauljervisheath
199
23k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
1
3.4k
Transcript
MySQL 8 MySQL 8 MySQL Innovation Day Tokyo 2018/05/23 とみたまさひろ
1
自己紹介 自己紹介 とみたまさひろ 日本MySQLユーザ会 趣味 文字化け MySQLプロトコル http://tmtms.hatenablog.com http://twitter.com/tmtms 2
MySQL 8 🎉🎉🎉 MySQL 8 🎉🎉🎉 3
MySQL 8 多くの新機能がありますが… 4
MySQL恒例「RCとはいったい…」案件 MySQL恒例「RCとはいったい…」案件 5
utf8の指定でwarning utf8の指定でwarning mysql> set names utf8; Query OK, 0 rows
affected, 1 warning (0.00 sec) Warning (Code 3719): 'utf8' is currently an alias for r set UTF8MB3, which will be replaced by UTF8MB4 in a se. Please consider using UTF8MB4 in order to be unamb 6
mysqlshのプロンプトが派手に mysqlshのプロンプトが派手に 7
MySQL Parameters MySQL Parameters バージョン間のパラメータ値を比較 https://tmtm.github.io/mysql-params 5.7 と 8.0 の比較
8
文字コードまわり 文字コードまわり 9
ujis,sjis,eucjpms,cp932 はもう要らない ujis,sjis,eucjpms,cp932 はもう要らない (個人の感想です) (個人の感想です) 10
Default Charset Default Charset 5.7 latin1 ISO8859-1 (欧米の文字) 8.0 utf8mb4
Unicode (世界中の文字) デフォルトのままで日本語や絵文字が使える 11
utf8mb4 Collations utf8mb4 Collations 文字の照合規則 日本語環境で使われそうなもの utf8mb4_bin utf8mb4_general_ci (5.7 デフォルト)
utf8mb4_unicode_ci utf8mb4_unicode_520_ci utf8mb4_0900_ai_ci (8.0 デフォルト) utf8mb4_0900_as_ci utf8mb4_0900_as_cs utf8mb4_ja_0900_as_cs utf8mb4_ja_0900_as_cs_ks 12
Collation name Collation name bin コードのまま general MySQL独自規則 unicode Unicode
4.0.0 unicode_0520 Unicode 5.2.0 0900 Unicode 9.0.0 ja_0900 Unicode 9.0.0 + 日本語 13
Collation name Collation name ai Accent Insensitive as Accent Sensitive
ci Case Insensitive cs Case Sensitive ks Kana Sensitive 14
デフォルトCollationの違い デフォルトCollationの違い 5.7: utf8mb4_general_ci A=a, A=a, や≠ゃ は≠ぱ≠ば あ≠ア 🍣=
🍺 8.0: utf8mb4_0900_ai_ci A=a, A=a, や=ゃ は=ぱ=ば あ=ア 🍣≠ 🍺 15
Charset=utf8mb4 を指定しただけでは Charset=utf8mb4 を指定しただけでは 5.7 と 8.0 で動きが異なるので注意 5.7 と
8.0 で動きが異なるので注意 16
新しいCollationたち 新しいCollationたち 17
utf8mb4_0900_ai_ci utf8mb4_0900_ai_ci アクセントの違いを区別しない はは = ぱぱ = ばば 大文字小文字を区別しない びょういん
= びよういん いろは = イロハ 株式会社 = ㍿ 18
utf8mb4_0900_ utf8mb4_0900_as as_ci _ci アクセントの違いを区別する はは ≠ ぱぱ ≠ ばば
大文字小文字を区別しない びょういん = びよういん いろは = イロハ 株式会社 = ㍿ 19
utf8mb4_0900_as_ utf8mb4_0900_as_cs cs アクセントの違いを区別する はは ≠ ぱぱ ≠ ばば 大文字小文字を区別する
びょういん ≠ びよういん いろは ≠ イロハ 株式会社 ≠ ㍿ utf8mb4_bin と同じ?? (違います) 20
utf8mb4_ utf8mb4_ja ja_0900_as_cs _0900_as_cs アクセントの違いを区別する はは ≠ ぱぱ ≠ ばば
大文字小文字を区別する びょういん ≠ びよういん 株式会社 ≠ ㍿ カタカナひらがなを区別しない いろは = イロハ 21
utf8mb4_ja_0900_as_cs_ utf8mb4_ja_0900_as_cs_ks ks アクセントの違いを区別する はは ≠ ぱぱ ≠ ばば 大文字小文字を区別する
びょういん ≠ びよういん 株式会社 ≠ ㍿ カタカナひらがなを区別する いろは ≠ イロハ utf8mb4_0900_as_cs と同じ?? 22
utf8mb4_0900 と utf8mb4_ utf8mb4_0900 と utf8mb4_ja ja_0900 _0900 の違い の違い
23
ソート順 ソート順 mysql> select hex(s),s from ja order by s;
+--------+------+ | hex(s) | s | +--------+------+ | E4BA9C | 亜 | | E4BC8A | 伊 | | E99BA8 | 雨 | | E6A084 | 栄 | | E5A5A5 | 奥 | +--------+------+ 24
長音 長音 mysql> select s from ja order by s;
+--------+ | s | +--------+ | あー | | ああ | | あい | | いあ | | いー | | いい | | うあ | | うい | | うー | +--------+ 25
ja_0900 は JIS順 ja_0900 は JIS順 日本語辞書順 日本語辞書順 26
utf8mb4_0900_as_csが一番無難? utf8mb4_0900_as_csが一番無難? utf8mb4_binでもいいかも utf8mb4_binでもいいかも 27
まとめ まとめ Charsetのデフォルトがutf8mb4で便利! 日本語Collationが増えた! 適切なCollationを使おう! 28