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 5.7のJSON型について | MySQL Casual Talks in Fuk...
Search
Manabu Matsuzaki
December 13, 2016
Technology
0
1.2k
MySQL 5.7のJSON型について | MySQL Casual Talks in Fukuoka vol.6 #mysql_casual_fukuoka /mysql-casual-talks-fukuoka-vol6
Manabu Matsuzaki
December 13, 2016
Tweet
Share
More Decks by Manabu Matsuzaki
See All by Manabu Matsuzaki
Spring BootユーザのためのArmeria入門 #jsug / Introduce to Armeria for Spring users
matsumana
0
2.6k
Canary Release with Argo Rollouts #ふくばねてす / canary-release-with-argo-rollouts
matsumana
1
1.1k
Getting started Central Dogma with Golang #fukuokago #umedago / getting-started-central-dogma-with-golang
matsumana
0
860
Micrometer入門 #javaq / introduce-to-micrometer
matsumana
1
2.7k
ArmeriaとCentral Dogmaから学ぶ、マイクロサービスに必要な機能 #edayfuk / lean-from-armeria-and-central-dogma
matsumana
0
4.1k
SREcon19 Americas 参加レポート #srefukuoka / srecon19-americas-report
matsumana
0
830
SRE入門 & チームで取り組んでいるSRE #srefukuoka / introduce-to-sre
matsumana
0
1.2k
Introduce to Armeria and Central Dogma #GWD_Nulab / introduce-to-armeria-and-central-dogma
matsumana
0
550
Connector/JでMaster/Slave Replication構成のMySQLに接続する #mysql_casual_fukuoka /connector-j-master-slave-replication
matsumana
0
1.4k
Other Decks in Technology
See All in Technology
OS 標準のデザインシステムを超えて - より柔軟な Flutter テーマ管理 | FlutterKaigi 2024
ronnnnn
1
280
SRE×AIOpsを始めよう!GuardDutyによるお手軽脅威検出
amixedcolor
0
190
AGIについてChatGPTに聞いてみた
blueb
0
130
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
950
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
880
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
260
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
310
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
910
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
Lexical Analysis
shigashiyama
1
150
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
6
670
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
430
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Navigating Team Friction
lara
183
14k
Transcript
MySQL 5.7 ͷJSONܕ ʹ͍ͭͯ MySQL Casual Talks in Fukuoka vol.6
2016/11/09 @matsumana
ࣗݾհ • ໊લɿ দ࡚ ֶ • ॴଐɿ LINE Fukuokaגࣜձࣾ ιϑτΣΞΤϯδχΞʢ։ൃɾӡ༻ʣ
• Twitterɿ @matsumana
ΞδΣϯμ • JSONܕͷಛ • Java͔ΒͬͯΈͨ
5.7͕ϦϦʔε͞Εͯ Ұ͕ա͗·ͨ͠Ͷ
MySQLͷྺ࢙ • MySQL 5.7 ʢ2015/10ϦϦʔεʣ • MySQL 5.6 ʢ2013/02ϦϦʔεʣ •
MySQL 5.5 ʢ2010/12ϦϦʔεʣ • MySQL 5.1 ʢ2008/11ϦϦʔεʣ • MySQL 5.0 ʢ2005/10ϦϦʔεʣ • MySQL 4.1 ʢ2004/10ϦϦʔεʣ • MySQL 4.0 ʢ2003/03ϦϦʔεʣ • MySQL 3.23 ʢ2001/01ϦϦʔεʣ • MySQL 3.23Ҏલ
5.7ͬͯ·͔͢ʁ
5.7Ͱ170Λ͑Δ ػೳՃมߋ͕ ؚ·Ε͍ͯ·͢
શ෦Ѳ͢Δͷ ΊͬͪΌେมͰ͕͢
͓͢͢Ίͷຊ͕ ͋Γ·͢
ॻ੶ൃߦͷ͓ΒͤɿৄղMySQL 5.7 ʙਐԽͨ͠MySQLΛΑ͘ΔͨΊͷςΫχΧϧΨΠυʙ
͜ΕΛಡΜͩΒ 5.7Λ͍ͨ͘ͳΔͣ :)
ࠓճJSONܕʹ͍ͭͯ ௐͯདྷ·ͨ͠
MySQLͷJSONܕͷಛ • ετϨʔδΤϯδϯ্BLOBͱͯ֨͠ೲ͞Ε͍ͯΔ • JSON pathͰjsonͷ߲ΛࢀরͰ͖Δ • ->ԋࢉࢠ͕͋ΔͷͰɺSQL͕ͪΐͬͱݟ͍͢ • generated
columnػೳͱ߹Θͤͯ͏ͱɺjsonͷ߲ʹ ΠϯσοΫεషΕͨΓɺ੍Λ͚ͨΓग़དྷΔ
Java͔ΒͬͯΈͨ • αϯϓϧΞϓϦͷιʔε https://github.com/matsumana/mysql-json-sandbox • ڥ • OSɿ CentOS 7.2
(1511) • MySQLɿ 5.7.16 Community Edition • JDBC Driverɿ Connector/J 5.1.40 • Java8 (1.8.0_111) • Frameworkɿ Spring Boot 1.4.1 • ORMɿ MyBatis 3.4.0
αϯϓϧΞϓϦΛ σϞ͠ͳ͕Β આ໌͍͖ͯ͠·͢
ҙ • JSONܕΛ͑σʔλΛॊೈʹѻ͑ͯ ศརͦ͏Ͱ͋Γ·͕͢ɺԿͰ͔ΜͰ1ͭͷΧϥϜʹೖΕ ͯ͠·͏ઃܭɺʮEAVΞϯνύλʔϯʯͱݺΕ͍ͯ·͢ ˞ࢀߟ PostgreSQLͷΞϯνύλʔϯ : ԿͰ͔ΜͰjsonʹೖΕΔ
ϦϯΫू • MySQL :: MySQL 5.7 Reference Manual :: 12.6
The JSON Data Type • ॻ੶ൃߦͷ͓ΒͤɿৄղMySQL 5.7 ʙਐԽͨ͠MySQLΛΑ͘Δ ͨΊͷςΫχΧϧΨΠυʙ • MySQL 5.7.8͔ΒInnoDBͷgenerated column࣮ମΛऔΒͣʹΠϯ σοΫεΛ࡞ΕΔΑ͏ʹͳͬͨ • PostgreSQLͷΞϯνύλʔϯ : ԿͰ͔ΜͰjsonʹೖΕΔ • SQLΞϯνύλʔϯ • αϯϓϧΞϓϦͷιʔε