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
2大OSSデータベースのMySQLとPostgreSQLの違い(後半)
Search
soudai sone
PRO
April 02, 2016
Technology
6
4.3k
2大OSSデータベースのMySQLとPostgreSQLの違い(後半)
第32回 PostgreSQL 勉強会(2015年10月10日)の資料です。
https://www.postgresql.jp/wg/shikumi/pgstudy_32/view
soudai sone
PRO
April 02, 2016
Tweet
Share
More Decks by soudai sone
See All by soudai sone
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
54
22k
変化に強いテーブル設計の勘所 / Table design that is resistant to changes
soudai
PRO
62
17k
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
PRO
46
22k
目の前の仕事と向き合うことで成長できる - 仕事とスキルを広げる / Every little bit counts
soudai
PRO
37
29k
ソフトウェアエンジニアとしてキャリアの螺旋を駆け上がる方法 - 経験と出会いが人生を変える / Career-Anchor-Drive
soudai
PRO
18
6.3k
新婚19年目から学ぶ夫婦円満の正しい歩き方 / Life is beautiful
soudai
PRO
12
4.7k
顧客が本当に必要だったもの - パフォーマンス改善編 / Make what is needed
soudai
PRO
35
13k
仕事を前に進めるためのコツ - 判断と決断と共有 / Aim for the goal
soudai
PRO
91
68k
アプリケーションが 正しく動作するということ - 自動テスト編 / Automated Testing
soudai
PRO
18
3.6k
Other Decks in Technology
See All in Technology
CDKTFについてざっくり理解する!!~CloudFormationからCDKTFへ変換するツールも作ってみた~
masakiokuda
1
190
Lufthansa ®️ USA Contact Numbers: Complete 2025 Support Guide
lufthanahelpsupport
0
230
DatabricksにOLTPデータベース『Lakebase』がやってきた!
inoutk
0
150
Lakebaseを使ったAIエージェントを実装してみる
kameitomohiro
0
170
20250707-AI活用の個人差を埋めるチームづくり
shnjtk
6
4.1k
「Chatwork」のEKS環境を支えるhelmfileを使用したマニフェスト管理術
hanayo04
1
210
AIエージェントが書くのなら直接CloudFormationを書かせればいいじゃないですか何故AWS CDKを使う必要があるのさ
watany
14
6k
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
980
Delegating the chores of authenticating users to Keycloak
ahus1
0
170
第4回Snowflake 金融ユーザー会 Snowflake summit recap
tamaoki
1
330
ABEMAの本番環境負荷試験への挑戦
mk2taiga
5
620
freeeのアクセシビリティの現在地 / freee's Current Position on Accessibility
ymrl
2
260
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Why Our Code Smells
bkeepers
PRO
336
57k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
830
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Building Adaptive Systems
keathley
43
2.7k
Optimizing for Happiness
mojombo
379
70k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Transcript
2େOSSσʔλϕʔεͷ MySQLͱPostgreSQLͷҧ͍ (ޙ) ୈ32ճ PostgreSQL ษڧձ
What is it? ͜ͷεϥΠυͷ గਖ਼Օॴ ΛؚΊͨϒϩάͪ͜Β IUUQTPVEBJCMPHTQPUKQPTTNZTRMQPTUHSFTRMIUNM
What is it? લઓΛऴ͑ͯ
What is it? લઓΛऴ͑ͯ ˣ .Z42-ͱ1PTUHSF42-͕ҧ͏ͷΘ͔ͬͨ
What is it? લઓΛऴ͑ͯ ˣ .Z42-ͱ1PTUHSF42-͕ҧ͏ͷΘ͔ͬͨ ˣ ΠϯυͱΠϯυωγΞ͘Β͍ҧ͏
What is it? લઓΛऴ͑ͯ ˣ .Z42-ͱ1PTUHSF42-͕ҧ͏ͷΘ͔ͬͨ ˣ +BWBͱ+BWB4DSJQU͘Β͍ҧ͏
What is it? લઓΛऴ͑ͯ ˣ .Z42-ͱ1PTUHSF42-͕ҧ͏ͷΘ͔ͬͨ ˣ +BWBͱ+BWB4DSJQU͘Β͍ҧ͏ ྨࣅྫҰཡ ΠϯυͱΠϯυωγΞҧ͏
,0'ͷژͱ,0'ͷژ͘Β͍ҧ͏ ετͷϦϡͱέϯ͘Β͍ҧ͏ ए೫Ֆͱو೫Ֆ͘Β͍ҧ͏ ϙέϞϯͱ༯ոΥον͘Β͍ҧ͏ લా݈ଠͱલాஐಙ͘Β͍ҧ͏ ʜͳͲ
What is it? ͭ·Γಉ͡3%#Ͱ݁ߏҧ͏
What is it? Ͱػೳͷҧ͍͚ͩͰઓྗͷҧ͍ʹͳΒͳ͍
What is it? Ћͷ෦Λ͝հ͠·͢
What is it? લఏ݅ લઓͷΛௌ͍ͯΔ͜ͱ·ͨݟͯΔ͜ͱ
What is it? લఏ݅ ଓɾ1PTUHSF42-ŧŔŕŪƂŜſ
What is it? લఏ݅ ଓɾ1PTUHSF42-ŧŔŕŪƂŜſ ˣ ࠷৽൛ͱ͔1PTUHSF42-ͷ᠘ͷͳ͍Ͱ͢
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹίϛϡχςΟͷҧ͍ ̏ɹϋϚϦͲ͜ΖͷTips ̐ɹMySQL 5.7ͱPostgreSQL 9.5 ̑ɹ·ͱΊ
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹίϛϡχςΟͷҧ͍ ̏ɹϋϚϦͲ͜ΖͷTips ̐ɹMySQL 5.7ͱPostgreSQL 9.5 ̑ɹ·ͱΊ
ࣗݾհ ໊લɿીࠜɹେʢͦͶɹ͚ͨͱʣ ྸɿ̏̌ࡀʢࡾਓͷࢠڙ͕͍·͢ʣ ৬ۀɿWebΤϯδχΞ ॴଐɿຊPostgreSQLϢʔβձ ɹɹɹதࠃࢧ෦ ࢧ෦ ɹɹٕज़తʹLLܥݴޠͱ͔RDB͕͖Ͱ͢
ࣗݾհ ໊લɿીࠜɹେʢͦͶɹ͚ͨͱʣ ྸɿ̏̌ࡀʢࡾਓͷࢠڙ͕͍·͢ʣ ৬ۀɿWebΤϯδχΞ ॴଐɿຊPostgreSQLϢʔβձ ɹɹɹதࠃࢧ෦ ࢧ෦ ɹɹٕज़తʹLLܥݴޠͱ͔RDB͕͖Ͱ͢
தࠃํDBษڧձ https://dbstudychugoku.github.io/
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹίϛϡχςΟͷҧ͍ ̏ɹϋϚϦͲ͜ΖͷTips ̐ɹMySQL 5.7ͱPostgreSQL 9.5 ̑ɹ·ͱΊ
ίϛϡχςΟͷҧ͍ ߲ίϛϡχςΟ໊ .Z/" +16( ࢀՃํ๏ .-ͷొ .-ʹొਖ਼ձһొ ৫छྨ ༗ࢤʹΑΔϘϥϯςΟΞ /10๏ਓ
ӡӦࢿۚ ɹແ͠ ༗Γ ίϛϡχέʔγϣϯ πʔϧ .-ɾTMBDL .-ɾTMBDL
ίϛϡχςΟͷҧ͍ ߲ίϛϡχςΟ໊ .Z/" +16( ࢀՃํ๏ .-ͷొ .-ʹొਖ਼ձһొ ৫छྨ ༗ࢤʹΑΔϘϥϯςΟΞ /10๏ਓ
ӡӦࢿۚ ɹແ͠ ༗Γ ίϛϡχέʔγϣϯ πʔϧ .-ɾTMBDL .-ɾTMBDL
ίϛϡχςΟͷҧ͍ ߲ίϛϡχςΟ໊ .Z/" +16( ࢀՃํ๏ .-ͷొ .-ʹొਖ਼ձһొ ৫छྨ ༗ࢤʹΑΔϘϥϯςΟΞ /10๏ਓ
ӡӦࢿۚ ɹແ͠ ༗Γ ίϛϡχέʔγϣϯ πʔϧ .-ɾTMBDL .-ɾTMBDL
ίϛϡχςΟͷҧ͍ ༧ࢉͷ༗ແ w .Z42-Ϣʔβձ͓ۚͷ੍Λ࡞Βͳ͍ͨΊ ʹ༧ࢉΛ͑ͯઃ͚ͯͳ͍ w ຊ1PTUHSFTϢʔβձڠࢍۚΛूΊɺ/10 ๏ਓͱͯ͠ཧ͍ͯ͠Δ
ίϛϡχςΟͷҧ͍ ༧ࢉͷ༗ແ w .Z42-Ϣʔβձ͓ۚͷ੍Λ࡞Βͳ͍ͨΊ ʹ༧ࢉΛ͑ͯઃ͚ͯͳ͍ w ຊ1PTUHSFTϢʔβձڠࢍۚΛूΊɺ/10 ๏ਓͱͯ͠ཧ͍ͯ͠Δ ࠓͷަ௨අ+16(ʹࢧԉͯ͠Βͬͯ·͢
ίϛϡχςΟͷҧ͍ ϢʔβձͷΞτϓοτͷҧ͍ w +16(υΩϡϝϯτίϛϡχςΟͰ࡞ w .Z/"ݸʑͷΞτϓοτʹҕͶΔ ެࣜυΩϡϝϯτ0SBDMF͕࡞ w ษڧձͲͪΒਵ࣌ओମͰߦ͍ͬͯΔ
ίϛϡχςΟͷҧ͍ TMBDL͕ؾܰʹ࣭Ͱ͖ͯϨεϙϯεྑ͍ .Z42-ɿIUUQNZTRMDBTVBMTMBDLJOIFSPLVBQQDPN 1PTUHSF42-ɿIUUQTQPTUHSFTRMIBDLFSTKQIFSPLVBQQDPN
ίϛϡχςΟͷҧ͍ ಥવͰ͕͢ʜ
ίϛϡχςΟͷҧ͍ ಥવͰ͕͢ʜ ˣ ࠓ͙͢ϑΥϩʔ͖͢ΤϯδχΞϦετ
ίϛϡχςΟͷҧ͍ ಥવͰ͕͢ʜ ˣ ࠓ͙͢ϑΥϩʔ͖͢ΤϯδχΞϦετ େମࠓͷ͜ͷਓͨͪΛݟͯΕࣗવͱ֮͑Δ
ίϛϡχςΟͷҧ͍ ࠓ͙͢ϑΥϩʔ͖͢.Z42-ΤϯδχΞ
ίϛϡχςΟͷҧ͍ ࠓ͙͢ϑΥϩʔ͖͢.Z42-ΤϯδχΞ !3,BKJZBNB
ίϛϡχςΟͷҧ͍ ࠓ͙͢ϑΥϩʔ͖͢.Z42-ΤϯδχΞ !LBNJQP
ίϛϡχςΟͷҧ͍ ࠓ͙͢ϑΥϩʔ͖͢.Z42-ΤϯδχΞ !ZZBNBTBLJ
ίϛϡχςΟͷҧ͍ ࠓ͙͢ϑΥϩʔ͖͢.Z42-ΤϯδχΞ !OJQQPOEBOKJ
ίϛϡχςΟͷҧ͍ ࠓ͙͢ϑΥϩʔ͖͢.Z42-ΤϯδχΞ !ZPLV
ίϛϡχςΟͷҧ͍ ԶΑΓڧ͍.Z42-ΤϯδχΞʹձ͍ʹߦ͘ ຊ.Z42-Ϣʔβձձʢ.Z/"ձʣಛผฤ Ϣʔβձपه೦ύʔςΟ ʙϢʔβձͱ.Z42-ͷΛৼΓฦΔʂʙ ։࠵ɿ݄ ۚ ։࠵࣌ࠁɿΛ༧ఆ ձɿגࣜձࣾίϩϓϥ
ʢ౦ژɾܙൺणΨʔσϯϓϨΠελϫʔ֊ʣ
ίϛϡχςΟͷҧ͍ ࠓ͙͢ϑΥϩʔ͖͢1PTUHSF42-ΤϯδχΞ
ίϛϡχςΟͷҧ͍ ࠓ͙͢ϑΥϩʔ͖͢1PTUHSF42-ΤϯδχΞ 1PTUHSF42-ͳਓɺ5XJUUFSͬͯͳ͍
ίϛϡχςΟͷҧ͍ ࠓ͙͢ϑΥϩʔ͖͢1PTUHSF42-ΤϯδχΞ !GVKJJ@NBTBP
ίϛϡχςΟͷҧ͍ ࠓ͙͢ϑΥϩʔ͖͢1PTUHSF42-ΤϯδχΞ !TOBHB
ίϛϡχςΟͷҧ͍ ࠓ͙͢ϑΥϩʔ͖͢1PTUHSF42-ΤϯδχΞ !T
ίϛϡχςΟͷҧ͍ ࠓ͙͢ϑΥϩʔ͖͢1PTUHSF42-ΤϯδχΞ !TBXBEB@NBTBIJLP
ίϛϡχςΟͷҧ͍ ࠓ͙͢ϑΥϩʔ͖͢1PTUHSF42-ΤϯδχΞ !OPCPSVT
ίϛϡχςΟͷҧ͍ ࠓ͙͢ϑΥϩʔ͖͢1PTUHSF42-ΤϯδχΞ !OVLP@ZPLPIBNB
ίϛϡχςΟͷҧ͍ 1PTUHSF42-ΧϯϑΝϨϯε ࣌ɿ݄ ۚ ɹʙ ॴɿ"1ɹ ౦ژߓ۠ߴྠ౦ٸୈೋϏϧ ༰ɿޕલجௐߨԋΛؚΉߨԋΛ༧ఆ ޕޙτϥοΫʹͯߨԋఔΛ༧ఆɻ
ΧϯϑΝϨϯεऴྃޙʹ࠙ձ͕͋Γ·͢ɻ ࢀՃਓݟࠐΈɿ໊ ҰൠࢀՃ໊ఔ ࢀՃඅɿ ԁΛ༧ఆ IUUQXXXQPTUHSFTRMKQFWFOUTKQVHQHDPO
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹίϛϡχςΟͷҧ͍ ̏ɹϋϚϦͲ͜ΖͷTips ̐ɹMySQL 5.7ͱPostgreSQL 9.5 ̑ɹ·ͱΊ
ϋϚϦͲ͜ΖͷTips ͓ͨͤ͠·ͨ͠ ຊͷϝΠϯͰ͢
ϋϚϦͲ͜ΖͷTips ຊͷ͓ॻ͖ .Z42-ฤ w ᐆດͳάϧʔϓ w SPPU͢ w ᐆດͳ
w ΪϟοϓϩοΫͱτϥϯβΫγϣϯϨϕϧ
ϋϚϦͲ͜ΖͷTips ຊͷ͓ॻ͖ .Z42-ฤ w ᐆດͳάϧʔϓ w SPPU͢ w ᐆດͳ
w ΪϟοϓϩοΫͱτϥϯβΫγϣϯϨϕϧ
ϋϚϦͲ͜ΖͷTips 4&-&$5 '30.TBNQMF JE HSPVQ OBNF BHF ౡ 4POF
ౡ TPOF ࢁ TPVEBJ ࢁ UBLFUPNP
ᐆດͳGROUP SELECT id, `group`,age FROM sample GROUP BY `group`
ᐆດͳGROUP SELECT id, `group`,age FROM sample GROUP BY `group` HSPVQ͕༧ޠͳͷͰAͰғΉ
ϋϚϦͲ͜ΖͷTips ݁Ռ JE HSPVQ BHF ౡ ࢁ
ϋϚϦͲ͜ΖͷTips ݁Ռ JE HSPVQ BHF ౡ ࢁ
6OJRVFͰແ͍ͷͰԿ͕ग़Δ͔Θ͔Βͳ͍
ϋϚϦͲ͜ΖͷTips LBNJQP53"%*5*0/"-
ᐆດͳGROUP SET SESSION sql_mode=‘TRADITIONAL,NO_AUTO_VALUE_ON_ZERO,ONLY_FULL_GROUP_BY’; SELECT id, `group`,age FROM sample GROUP
BY `group`;
ᐆດͳGROUP SET SESSION sql_mode=‘TRADITIONAL,NO_AUTO_VALUE_ON_ZERO,ONLY_FULL_GROUP_BY’; SELECT id, `group`,age FROM sample GROUP
BY `group`;
ᐆດͳGROUP SET SESSION sql_mode=‘TRADITIONAL,NO_AUTO_VALUE_ON_ZERO,ONLY_FULL_GROUP_BY’; SELECT id, `group`,age FROM sample GROUP
BY `group`; .Z42-ͷಠ֦ࣗுΛແޮʹ͢Δ
ᐆດͳGROUP SET SESSION sql_mode=‘TRADITIONAL,NO_AUTO_VALUE_ON_ZERO,ONLY_FULL_GROUP_BY’; SELECT id, `group`,age FROM sample GROUP
BY `group`; ͪΖΜNZDPOGʹ͔͍ͯྑ͍
ϋϚϦͲ͜ΖͷTips ຊͷ͓ॻ͖ .Z42-ฤ w ᐆດͳάϧʔϓ w SPPU͢ w ᐆດͳ
w ΪϟοϓϩοΫͱτϥϯβΫγϣϯϨϕϧ w ͑Δͷͭ
root2͢ ——ΞΧϯτΛ֬ೝ͢Δ SELECT user , host FROM user;
ϋϚϦͲ͜ΖͷTips ݁Ռ VTFS IPTU SPPU SPPU SPPU MPDBMIPTU
ϋϚϦͲ͜ΖͷTips ݁Ռ VTFS IPTU SPPU SPPU SPPU MPDBMIPTU
ͦΕͧΕผϢʔβ
ϋϚϦͲ͜ΖͷTips ݁Ռ VTFS IPTU SPPU SPPU SPPU MPDBMIPTU
ΞΫηεग़དྷΔIPTU
ϋϚϦͲ͜ΖͷTips ݁Ռ VTFS IPTU SPPU SPPU SPPU MPDBMIPTU
QH@ICB@DPOG૬
ϋϚϦͲ͜ΖͷTips ຊͷ͓ॻ͖ .Z42-ฤ w ᐆດͳάϧʔϓ w SPPU͢ w ᐆດͳ
w ΪϟοϓϩοΫͱτϥϯβΫγϣϯϨϕϧ
ᐆດͳ SELECT * FROM sample WHERE name = 'sone'
ϋϚϦͲ͜ΖͷTips ݁Ռ JE HSPVQ OBNF BHF ౡ 4POF
ౡ TPOF
ϋϚϦͲ͜ΖͷTips ݁Ռ JE HSPVQ OBNF BHF ౡ 4POF
ౡ TPOF
ϋϚϦͲ͜ΖͷTips ݁Ռ JE HSPVQ OBNF BHF ౡ 4POF
ౡ TPOF େจࣈখจࣈΛൺֱͯ͠ͳ͍
ϋϚϦͲ͜ΖͷTips ຊͷ͓ॻ͖ .Z42-ฤ w ᐆດͳάϧʔϓ w SPPU͢ w ᐆດͳ
w ΪϟοϓϩοΫͱτϥϯβΫγϣϯϨϕϧ
ϋϚϦͲ͜ΖͷTips τϥϯβΫγϣϯϨϕϧ Ϩϕϧ μʔςΟ Ϧʔυ ϑΝδʔ Ϧʔυ ϑΝϯτϜ Ϧʔυ ಡΈऔΓ
ϩοΫ 3&"% 6/$0..*55&% :FT :FT :FT /P 3&"% $0..*55&% /P :FT :FT /P 3&1&"5"#-& 3&"% /P /P :FT /P 4&3*"-*;"#-& /P /P /P /P
ϋϚϦͲ͜ΖͷTips τϥϯβΫγϣϯϨϕϧ Ϩϕϧ μʔςΟ Ϧʔυ ϑΝδʔ Ϧʔυ ϑΝϯτϜ Ϧʔυ ಡΈऔΓ
ϩοΫ 3&"% 6/$0..*55&% :FT :FT :FT /P 3&"% $0..*55&% /P :FT :FT /P 3&1&"5"#-& 3&"% /P /P :FT /P 4&3*"-*;"#-& /P /P /P /P .Z42-ͷσϑΥϧτ
ϋϚϦͲ͜ΖͷTips τϥϯβΫγϣϯϨϕϧ Ϩϕϧ μʔςΟ Ϧʔυ ϑΝδʔ Ϧʔυ ϑΝϯτϜ Ϧʔυ ಡΈऔΓ
ϩοΫ 3&"% 6/$0..*55&% :FT :FT :FT /P 3&"% $0..*55&% /P :FT :FT /P 3&1&"5"#-& 3&"% /P /P :FT /P 4&3*"-*;"#-& /P /P /P /P 1PTUHSF42-ͷσϑΥϧτ
ίϛϡχςΟͷҧ͍ ΪϟοϓϩοΫ w .Z42-ͷσϑΥϧτ3&1&"5"#-&3&"% w *OOPECߋ৽ରͷߦ͚ͩΛϩοΫͰͳ͍ʂ w ༧֎ͷϩοΫΛऔಘ͢Δ w ߋ৽ॲཧͳͲͰϩοΫ͕ͪൃੜ͢Δ͜ͱ͕͋Δ
ίϛϡχςΟͷҧ͍ ΪϟοϓϩοΫ w .Z42-ͷσϑΥϧτ3&1&"5"#-&3&"% w *OOPECߋ৽ରͷߦ͚ͩΛϩοΫͰͳ͍ʂ w ༧֎ͷϩοΫΛऔಘ͢Δ w ߋ৽ॲཧͳͲͰϩοΫ͕ͪൃੜ͢Δ͜ͱ͕͋Δ
ΪϟοϓϩοΫ begin; SELECT * FROM lock_demo WHERE id >= 5
AND id <= 10 FOR UPDATE; commit;
ΪϟοϓϩοΫ begin; SELECT * FROM lock_demo WHERE id >= 5
AND id <= 10 FOR UPDATE; commit; ൣғΛࢦఆͯ͠ϩοΫΛऔಘ
ΪϟοϓϩοΫ INSERT INTO `demo`.`lock_demo` (`id`, `name`) VALUES ('7', 'test');
ΪϟοϓϩοΫ INSERT INTO `demo`.`lock_demo` (`id`, `name`) VALUES ('7', 'test'); ؒͷۭߦ*/4&35
ΪϟοϓϩοΫ INSERT INTO `demo`.`lock_demo` (`id`, `name`) VALUES ('7', 'test'); ؒͷۭߦ*/4&35
͜ͷ*/4&35ͨ͞ΕΔʂʂ
ίϛϡχςΟͷҧ͍ ΪϟοϓϩοΫͷҙ w ࣮ମҎ֎ͷϨίʔυϩοΫΛऔΔ w ൣғͷۭߦͰϩοΫ w ۭৼΓͷ4&-&$5'0361%"5&ͰϩοΫ w ্ݶͷແ͍8)&3&ͩͱશ෦ϩοΫ
ίϛϡχςΟͷҧ͍ ΪϟοϓϩοΫͷҙ w ࣮ମҎ֎ͷϨίʔυϩοΫΛऔΔ w ൣғͷۭߦͰϩοΫ w ۭৼΓͷ4&-&$5'0361%"5&ͰϩοΫ w ্ݶͷແ͍8)&3&ͩͱશ෦ϩοΫ
ؒͷۭߦ*/4&35
ίϛϡχςΟͷҧ͍ ΪϟοϓϩοΫͷҙ w ࣮ମҎ֎ͷϨίʔυϩοΫΛऔΔ w ൣғͷۭߦͰϩοΫ w ۭৼΓͷ4&-&$5'0361%"5&ͰϩοΫ w ্ݶͷແ͍8)&3&ͩͱશ෦ϩοΫ
8)&3&JEͳͲةݥ
ϋϚϦͲ͜ΖͷTips ߋʹωΫετΩʔϩοΫ͋Δ
ϋϚϦͲ͜ΖͷTips ߋʹωΫετΩʔϩοΫ͋Δ ˣ ߋ৽ߦͷલޙͷϩοΫΛऔΔ
ϋϚϦͲ͜ΖͷTips ͍ͷͰଓ͖8FCͰ !LBNJQP͞ΜͷϒϩάΛҾ༻ *OOP%#ͷϩοΫͷൣғͱωΫετΩʔϩοΫͷ IUUQCMPHLBNJQPOFUFOUSZ
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹίϛϡχςΟͷҧ͍ ̏ɹϋϚϦͲ͜ΖͷTips ̐ɹMySQL 5.7ͱPostgreSQL 9.5 ̑ɹ·ͱΊ
MySQL 5.7ͱPostgreSQL 9.5 ྆%#ͷ࠷৽൛
MySQL 5.7ͱPostgreSQL 9.5 ྆%#ͷ࠷৽൛ ˣ ͦΖͦΖਖ਼ࣜ൛͕ग़Δ
MySQL 5.7ͱPostgreSQL 9.5 1PTUHSF42-ͷΛฉ͖ʹདྷͨਓʁ
MySQL 5.7ͱPostgreSQL 9.5 1PTUHSF42-ͷΛฉ͖ʹདྷͨਓʁ ˣ ೦ɺ಄Ͱ৮Ε·͕ͨ͠આ໌͠·ͤΜ
MySQL 5.7ͱPostgreSQL 9.5 1PTUHSF42-
MySQL 5.7ͱPostgreSQL 9.5 1PTUHSF42- ˣ ϧʔΫɺʮࣰాͷދͷרͦͷ̐ʯΛ͑ ελʔɾΥʔζݟͨ͜ͱແ͍͚Ͳ
MySQL 5.7ͱPostgreSQL 9.5 ஶऀͷࣰా͞Μ
MySQL 5.7ͱPostgreSQL 9.5 ஶऀͷࣰా͞Μ ˣ ୈճதࠃํ%#ษڧձJOग़Ӣ Ͱ1PTUHSF42-ͷΛͯ͘͠Ε·͢
MySQL 5.7ͱPostgreSQL 9.5 ͋ͱᖒా͞Μ͕1PTUHSF42-ৄ͍͠
MySQL 5.7ͱPostgreSQL 9.5 ͋ͱᖒా͞Μ͕1PTUHSF42-ৄ͍͠ ˣ 1PTUHSF42-৽ػೳհ IUUQXXXTMJEFTIBSFOFUIBEPPQYOUUEBUBQPTUHSFTRMOFXGFBUVSFTOUUEBUB ֆͱ͔͍ͬͺ͍͋ΔͷͰॳ৺ऀʹ༏͍͠ࢿྉͱͳ͓ͬͯΓ·͢
MySQL 5.7ͱPostgreSQL 9.5 1PTUHSF42-ΧϯϑΝϨϯε ߦͬͨΒ୭͔ͯ͠ΔΑ ʢଟɺ͖ͬͱɺ.BZCFʣ
MySQL 5.7ͱPostgreSQL 9.5 .Z42-ͷৄࡉ
MySQL 5.7ͱPostgreSQL 9.5 .Z42-ͷৄࡉ ˣ தࠃํ%#ษڧձʹஔ͍ͯ͋ΔΑ IUUQTECTUVEZDIVHPLVHJUIVCJP
MySQL 5.7ͱPostgreSQL 9.5 .Z42-ͷৄࡉ ˣ தࠃํ%#ษڧձʹஔ͍ͯ͋ΔΑ IUUQTECTUVEZDIVHPLVHJUIVCJP ͔͠ಈը͖
MySQL 5.7ͱPostgreSQL 9.5 தࠃํ%#ษڧձ ୈճ.Z42-ͷ࠷৽ࣄ ֿࢁ͞Μ ୈճ.Z42-࠷৽ࣄ ֿࢁ͞Μ
ୈճ.Z42-3$ొʂ࣍ͷ.Z42-͕͜͜ҧ͏ͬʂ ֿࢁ͞Μ ୈճ.Z42-։ൃ࠷৽ಈ ࢁ࡚͞Μ ͦͷதͰ͍͔ͭ͘ϐοΫΞοϓ
MySQL 5.7ͱPostgreSQL 9.5 ιʔείʔυ͕HJUIVCͰެ։͞Εͨ ެࣜϦϙδτϦ IUUQTHJUIVCDPNNZTRM .Z42-ຊମҎ֎ʹ໘ന͍ͷ͕ࢁʂ
MySQL 5.7ͱPostgreSQL 9.5 ߴԽ w ಉҰεΩʔϚͰϚϧνεϨουରԠ w ΦϓςΟϚΠβ͕ΑΓݡ͘ w *OOP%#ʹຊޠશจݕࡧ͕Ճ
w WJSUVBMDPMVNO w .Z42-ΑΓഒɺΑΓഒૣ͘ʂ
MySQL 5.7ͱPostgreSQL 9.5 ߴԽ w ಉҰεΩʔϚͰϚϧνεϨουରԠ w ΦϓςΟϚΠβ͕ΑΓݡ͘ w *OOP%#ʹຊޠશจݕࡧ͕Ճ
w WJSUVBMDPMVNO w .Z42-ΑΓഒɺΑΓഒૣ͘ʂ
MySQL 5.7ͱPostgreSQL 9.5
MySQL 5.7ͱPostgreSQL 9.5
MySQL 5.7ͱPostgreSQL 9.5 ߴԽ w ಉҰεΩʔϚͰϚϧνεϨουରԠ w ΦϓςΟϚΠβ͕ΑΓݡ͘ w *OOP%#ʹຊޠશจݕࡧ͕Ճ
w WJSUVBMDPMVNO w .Z42-ΑΓഒɺΑΓഒૣ͘ʂ ಛʹߴෛՙ͕࣌ૣ͘ͳͬͨ
MySQL 5.7ͱPostgreSQL 9.5 ߴػೳԽ w ΫΤϦɾϦϥΠτɾϓϥάΠϯ w +40/ܕΛαϙʔτ w ϨϓϦέʔγϣϯͷڧԽ
MySQL 5.7ͱPostgreSQL 9.5 ߴػೳԽ w ΫΤϦɾϦϥΠτɾϓϥάΠϯ w +40/ܕΛαϙʔτ w ϨϓϦέʔγϣϯͷڧԽ
·ͩ1PTUHSF42-ͷํ͕Ұͷ͕͋Δ
MySQL 5.7ͱPostgreSQL 9.5 ߴػೳԽ w ΫΤϦɾϦϥΠτɾϓϥάΠϯ w +40/ܕΛαϙʔτ w ϨϓϦέʔγϣϯͷڧԽ
.Z42-ຊମͰࣗಈϑΣΠϧΦʔόʔΛαϙʔτ 1PTUHSF42-ίϛολ༷ɺ·ͩͰ͔͢ʁ
MySQL 5.7ͱPostgreSQL 9.5 ͦͷଞ w 4:4εΩʔϚΛαϙʔτ w 0/-:@'6--@(3061@#: .Z42- ͕σϑΥϧτ
w Ͱ1BTTXPSEมߋڧ੍͕σϑΥϧτ w ͭͷςʔϒϧʹϚϧντϦΨʔΛαϙʔτ
MySQL 5.7ͱPostgreSQL 9.5 1PTUHSF42-
MySQL 5.7ͱPostgreSQL 9.5 1PTUHSF42- ˣ ਖ਼౷ͳ3%#ΛΑΓ֦ு͍ͯ͘͠ײ͡
MySQL 5.7ͱPostgreSQL 9.5 .Z42-
MySQL 5.7ͱPostgreSQL 9.5 .Z42- ˣ ਖ਼͍͠3%#ͬΆ͘ͳͬͨ ʢͦͷӨڹͰԼҐޓੑͷແ͍มߋଟ͍ʣ ݩ͕ΏΔ;Θܥա͗ͨͷͰྑ͍ͱࢥ͏
MySQL 5.7ͱPostgreSQL 9.5 ࠓޙͷ.Z42-
MySQL 5.7ͱPostgreSQL 9.5 ࠓޙͷ.Z42- ΑΓେنΞʔΩςΫνϟʹಛԽ͍͖ͯͦ͠͏
MySQL 5.7ͱPostgreSQL 9.5 ࠓޙͷ.Z42- ΑΓେنΞʔΩςΫνϟʹಛԽ͍͖ͯͦ͠͏ ˣ ϥΠόϧ1PTUHSF42-Ͱͳ͘/042-
MySQL 5.7ͱPostgreSQL 9.5 ࠓޙͷ1PTUHSF42-
MySQL 5.7ͱPostgreSQL 9.5 ࠓޙͷ1PTUHSF42- ਖ਼౷3%#ͱͯ͠ਐԽ͍͖ͯͦ͠͏
MySQL 5.7ͱPostgreSQL 9.5 ࠓޙͷ1PTUHSF42- ਖ਼౷3%#ͱͯ͠ਐԽ͍͖ͯͦ͠͏ ˣ ϥΠόϧ.Z42-Ͱͳ͘ɺ༻%#
MySQL 5.7ͱPostgreSQL 9.5 .Z42-ͱ1PTUHSF42-
MySQL 5.7ͱPostgreSQL 9.5 .Z42-ͱ1PTUHSF42- ࠓ·Ͱ͜Ε͔ΒॅΈ͚͕ਐΜͰ͍͘
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹίϛϡχςΟͷҧ͍ ̏ɹϋϚϦͲ͜ΖͷTips ̐ɹMySQL 5.7ͱPostgreSQL 9.5 ̑ɹ·ͱΊ
·ͱΊ ෳͷબࢶΛΔ
·ͱΊ ෳͷબࢶΛΔ ˣ ධՁ͕࣠૿͑ͯൃ͕͕Δ
·ͱΊ ෳͷબࢶΛΔ ˣ ධՁ͕࣠૿͑ͯൃ͕͕Δ ˣ ઃܭྗ্͕͕Δ
·ͱΊ બࢶ͕૿͑Δ
·ͱΊ બࢶ͕૿͑Δ ˣ ࣄͷ෯͕૿͑Δ
·ͱΊ બࢶ͕૿͑Δ ˣ ࣄͷ෯͕૿͑Δ ˣ .Z42-1PTUHSF42-Θ͔Δਓগͳ͍
·ͱΊ બࢶ͕૿͑Δ ˣ ࣄͷ෯͕૿͑Δ ˣ .Z42-1PTUHSF42-Θ͔Δਓগͳ͍ ࠓޙ3%#ͷ044ར༻૿͑Δͣ
·ͱΊ બࢶ͕૿͑Δ ˣ ࣄͷ෯͕૿͑Δ ˣ .Z42-1PTUHSF42-Θ͔Δਓগͳ͍ ࠓޙ3%#ͷ044ར༻૿͑Δͣ %#ΤϯδχΞͷੜ͖ΓઓུͷҰͭ
·ͱΊ ࠷৽൛ͷௐࠪ
·ͱΊ ࠷৽൛ͷௐࠪ ˣ ίϛϡχςΟΛ্ख͘͏
·ͱΊ ࠷৽൛ͷௐࠪ ˣ ίϛϡχςΟΛ্ख͘͏ ˣ ຊޠใଟ͍
·ͱΊ ࠷৽൛ͷௐࠪ ˣ ίϛϡχςΟΛ্ख͘͏ ˣ ຊޠใଟ͍ ߴԽϝϦοτ͕ͩ ࠓࠔͬͯΔࣄΛղܾͯ͘͠ΕΔࣄଟ͍ ྫɿ1PTUHSF42-ͷ.BSHFจ .Z42-ͷτϦΨʔͳͲ
·ͱΊ ΤϯδχΞͱͯ͠ੜ͖Δʹ
·ͱΊ ΤϯδχΞͱͯ͠ੜ͖Δʹ ˣ 3%#ͷٕज़ͷण໋͍
·ͱΊ ΤϯδχΞͱͯ͠ੜ͖Δʹ ˣ 3%#ͷٕज़ͷण໋͍ ˣ ϕϯμʔϩοΫΠϯ͞Εͳ͍ࣝوॏ
·ͱΊ σʔλͷण໋ίʔυΑΓ͍
·ͱΊ σʔλͷण໋ίʔυΑΓ͍ ˣ ͔ͩΒͦ͜%#ͷࣝେͰ͢
·ͱΊ %#ͷʮ͜ΕΒͳ͔ͬͨʯ
·ͱΊ %#ͷʮ͜ΕΒͳ͔ͬͨʯ ˣ க໋ইʹͳΔ͜ͱଟ͍
·ͱΊ ීஈ͔ΒͷࣝͷΞοϓσʔτΛେʹ
·ͱΊ ීஈ͔ΒͷࣝͷΞοϓσʔτΛେʹ ˣ ൺֱ͢Δ͜ͱͰؔ࿈͚ͨ͠هԱʹͳΔ
·ͱΊ ٕज़ෳֶͼ·͠ΐ͏
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ