Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
SQLアンチパターン勉強会 #2
Search
yusuke sasajima
December 12, 2013
Programming
400
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SQLアンチパターン勉強会 #2
やっと第二回開催。。。
資料作るの大変だけど、たのしす〜
yusuke sasajima
December 12, 2013
More Decks by yusuke sasajima
See All by yusuke sasajima
一休.com を支えるデータ分析基盤
zimathon
3
6.3k
一休.comにおけるfrontend開発
zimathon
3
1.3k
Other Decks in Programming
See All in Programming
Building an Out-of-Order CPU
latte72
1
750
Family mrubyの進捗
kishima
1
110
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
150
GKE で Pod の見方を変えたら、スケールアウト時の挙動を真に捉えられた話
stkk
0
110
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
240
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
150
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
140
新卒PdEのリアル
ryu1013
1
490
App Intentsのビルドプロセスを支える技術
kntkymt
0
260
自分的「カンファレンスの楽しみ方」
syumai
0
200
型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers
mazrean
0
140
Intent as Code
shoppingjaws
6
920
Featured
See All Featured
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
520
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
720
Evolving SEO for Evolving Search Engines
ryanjones
0
280
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Claude Code のすすめ
schroneko
67
230k
GitHub's CSS Performance
jonrohan
1033
470k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
780
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Transcript
SQLΞϯνύλʔϯ #2 ॓ധࣄۀຊ෦γεςϜ։ൃ෦ ౡ༞հʢ!TJTJKVNJʣ
ຊͷΞδΣϯμ ˔ɹ͡Ίʹʢʣ ɹࢿྉΛ࡞ͬͯΈͯ ͔͔࣌ؒΔ ɹୈࡾճ୭͕Δͷʁʁ ˔ɹຊฤʢʣ ɹষɿΠϯσοΫεγϣοτΨϯʢҋӢʣ ˔ɹΈΜͳͰ͓ʢʣ
ΠϯσοΫεγϣοτΨϯʁ
ΠϯσοΫεͷత w ύϑΥʔϚϯεʂ w ύϑΥʔϚϯεʂʂ w ύϑΥʔϚϯεʂʂʂ w ͯ͢ੑೳͷͨΊ
ΠϯσοΫεΛཧղ͠ͳ͍· ·ͩͱɻɻɻ w ΠϯσοΫεΛ·ͬͨ͘ఆٛ͠ͳ͍͔ɺ গ͚ͩ͠ఆٛ͢Δ͜ͱʹͳΔ w ΠϯσοΫεΛଟ͘ఆٛ͗͢͠Δ͔ɺ ཱͨͳ͍ΠϯσοΫεΛఆٛ͢ΔʢΠϯ σοΫιʣ w
ΠϯσοΫεΛ׆༻͠ͳ͍ΫΤϦΛ࣮ߦ ͯ͠͠·͏
͓͞Μɺ ΠϯσοΫε ͬͯʁ
ΠϯσοΫεͱ දྫ w #5SFFΠϯσοΫε w ϏοτϚοϓΠϯσοΫε w ؔΠϯσοΫεʢ0SBDMF͚ͩʣ w ྻετΞΠϯσοΫε
ΠϯσοΫεͱ
ΠϯσοΫεͷҙ ΠϯσοΫεΛར༻ͯ͠ৗʹ͘ ͳΒͳ͍ w औಘϨίʔυ શମͷҎԼɿΠϯσοΫεΛ༻ͨ͠ํ͕͍ શମͷˋΛ͑ͨɿςʔϒϧϑϧεΩϟϯ͕͍ ˞
ҰൠతʹdͷൣғʢΒ͍͠Ͱ͢ʣ
ΧόϦϯάΠϯσοΫεʁ w ຊདྷͷΠϯσοΫεʹෆཁͳྻΛఆٛ ɹ࡞ྫ $SFBUF*OEFYCVHDPWFSSJOHPOCVT TUBUVT CVH@JE EBUF@SFQPSUFE@CZ
TVNNBSZ ! 4FMFDUTUBUVT CVE@JE EBUF@SFQPSUFE TVNNBSZ 'SPN#VHT8IFSFTUBUVTbPQFO` ! ॓ധͩͱ༧ςʔϒϧͱ͔ͰΠϝʔδ͍͢͠
Ξϯνύλʔϯᶃ ΠϯσοΫεΛશ͘ఆٛ͠ͳ͍ w ΠϯσοΫεΛѱͩͱߟ͑ͯ͠·͏ ʮͳΜ͔ɺΦʔόʔϔου͕ൃੜ͢ΔΒ ͍͠͡ΌΜɻʯ w ͋·ΓΒͳ͍ͷʹɺΦʔόʔϔου ͱ͍͏୯ޠ͚ͩͰఆٛ͠ͳ͍ ϞολΠφΠʂʂ
Ξϯνύλʔϯᶄ ΠϯσοΫεΛଟ͘ఆٛ͗͢͠Δ DSFBUFUBCMFCVHT CVE@JE 4&3*"-13*."3:,&:
EBUF@SFQPSUFE %"5&/05/6-- TVNNBSZ WBSDIBS TUBUVT IPVST */%&9 CVH@JE */%&9 TVNNBSZ */%&9 IPVST */%&9 CVE@JE EBUF@SFQPSUFE TUBUVT
Ξϯνύλʔϯᶄ ΠϯσοΫεΛଟ͘ఆٛ͗͢͠Δ DSFBUFUBCMFCVHT CVE@JE 4&3*"-13*."3:,&:
EBUF@SFQPSUFE %"5&/05/6-- TVNNBSZ WBSDIBS TUBUVT IPVST */%&9 CVH@JE */%&9 TVNNBSZ */%&9 IPVST */%&9 CVE@JE EBUF@SFQPSUFE TUBUVT ෳ߹ΠϯσοΫεࠨ͔ΒߜΓࠐ·ΕΔ͔Βແବ PKࣗಈੜ͞Ε͍ͯΔ ΠϯσοΫεલํҰகͷΈ༗ޮͷͨΊɺ! ແବʹͳΔՄೳੑ͕ߴ͍
Ξϯνύλʔϯᶅ ΠϯσοΫεཱ͕ͨͳ͍ʢΠϯσοΫιʣ ΠϯσοΫεΛ͑ͳ͍ΫΤϦΛ࣮ߦ͢Δ͜ͱ ຐ๏ͷΑ͏ͳྻͷΈ߹Θͤ ΠϯσοΫεͷΦϓγϣϯ खΓ࣍ୈʹΠϯσοΫεΛ࡞ͯ͠͠·͏ ։ൃऀ
None
͍͑ɺ͋ͳͨͷ͜ͱͰ͢ɻ
Ξϯνύλʔϯᶅ ΠϯσοΫεཱ͕ͨͳ͍ʢΠϯσοΫιʣ ిாͰྫ͑Δʢ໊ࣈɺ໊લͷॱʹฒΜ Ͱ͍Δʣͱ ໊ࣈɿνϟʔϧζʢ˕ɿ͙͢ݟ͔ͭΔʣ ໊લɿνϟʔϧζʢºɿ͔͔࣌ؒΔʣ
ిாͷࡧҾΛ۩ମతʹॻ͍ͯΈ·ͨ͠ɻ $ νϟʔϧζɾέϯεέ νϟʔϧζɾϢεέ νϟʔϧζɾνϟʔϧζ % σϏοτɾνϟʔϧζ σϏοτɾϕοΧϜ ̚ ΤϦοΫɾνϟʔϧζ
' ϑΥϨετɾΨϯϓ ϑΥʔϦϯɾὑ ϑΥΧονϟɾνϟʔϧζ ϝϦοτΛಘΒΕͳ͍ΠϯσοΫε $3&"5&*/%&95FMFQIPOF#PPL PO"DDPVOUT MBTU@OBNF pSTU@OBNF !
Ξϯνύλʔϯͷݟ͚ͭํ ࣍ͷݴ༿ʹؾΛ͚ͭΔ ʮ͜ͷΫΤϦΛߴԽ͍ͨ͠Μ͚ͩͲɺͲ͏͢Ε͍͍ʁʯ ୭͔ʹ૬ஊ͢Δ ʮϑΟʔϧυશ෦ʹΠϯσοΫεΛఆٛͨ͠ͷʹɺͳ࣮ͥߦ ͕͘ͳΒͳ͍ͷͩΖ͏ʁʯ έʔεᶄʹ֘ ʮσʔλϕʔεΛ͘͢Δͱॻ͍͍ͯΔͷΛԿ͔ͰಡΜͩ͜ͱ͕ ͋ΔɻͦΕҎདྷɺΠϯσοΫεΘͳ͍Α͏ʹ͍ͯ͠Δʯ έʔεᶃʹ֘
Ͳ͏ͯͦ͠͏ͳΔʁ w ΠϯσοΫεʹ͍ͭͯΒͳ ͍ʢ·͔ͨͬͨͿΓΛ͠ ͍ͯΔʣ w ߟ͍͑ͯͳ͍ʢߟ͑Δ͜ͱΛ ์غ͍ͯ͠Δʣ w ΠϯσοΫεʹؔͯ͠૬ஊͰ
͖Δਓ͕͍ͳ͍
ίϥϜʣબੑʹ͍ͭͯ w બ੍ͱʁ σʔλϕʔεΠϯσοΫεʹ͍ͭͯͷ౷ ܭ ςʔϒϧͷ૯ߦʹ͍ͨ͢ΔΠϯσοΫ εͷதͷݸผͷͷͷׂ߹
TFMFDU DPVOU EJTUJODUTUBUVT DPVOU TUBUVT BTTFMFDUJWJUZ 'SPN#VHT
બੑͷΠϯσοΫε ͷछྨ͕গͳ͍ΧϥϜʹ͍ͭͯɺΠϯ σοΫεΛ࡞ͯ͠ʹཱͨͳ͍ ྫʣੑผɺྸͳͲ
None
ΞϯνύλʔϯΛ ༻͍ͯΑ͍߹
͑ɺɺɺͦΜͳ͜ͱ ͍͍ͯ͠ͷʁ
͍͍ΜͰ͢ʂʂʂ
͍ɺΑ͘ͳ͍Ͱ͠ΐ ʢসʣ
࠷ॳΈΜͳΘ͔Βͳ͍ w ͲͷΑ͏ͳΫΤϦ͕࣮ߦ͞ΕΔ͔Θ͔Βͳ͍ w ΫΤϦ͕Θ͔Βͳ͍͔Βɺ࠷దͳΠϯσοΫ ε࡞Εͳ͍ w ࡞ͨ͠ޙͰɺෆཁʹͳΔέʔεଘࡏͯ͠ ͍Δ Ͱ͖ΔݶΓɺेͳใʹج͍ͮͯݕ౼͠Α
͏
ʮ.&/503ʯͷݪଇ w .FBTVSFʢଌఆʣ w &YQMBJOʢղੳʣ w /PNJOBUFʢࢦ໊ʣ w 5FTUʢςετʣ w
0QUJNJ[Fʢ࠷దԽʣ w 3FCVJMEʢ࠶ߏஙʣ
.FBTVSFʢଌఆʣ w 42-ͷΫΤϦ࣮ߦ࣌ؒΛଌఆ͢Δ w ࠷ଟ͘ͷ࣌ؒΛফඅ͢ΔΫΤϦΛಛ ఆ ˞Ωϟογϡແޮʹͯ͠ w
ϓϩϑΝΠϦϯάʹΑͬͯɺΑΓਖ਼֬ ͳใ͕औಘՄೳ
&YQMBJOʢੳʣ w ΫΤϦ࣮ߦܭը ʢ2VFSZ&YFDVUJPO1MBOɿ2&1ʣʹΑ ΔੳΛ࣮ࢪ w .JDSPTPGU42-4FSWFS 4&54)081-"/@9.-
/PNJOBUFʢࢦ໊ʣ w ΫΤϦͷ2&1ΛಡΜͰɺΠϯσοΫεΛ Θͳ͍ͰςʔϒϧʹΞΫηε͍ͯ͠Δ ՕॴΛ୳ͤʂ w ϕϯμʔ͝ͱʹศརͳπʔϧ͕͋Δ͔Βɺ ͦΕΛͬͯΈΑ͏ w .JDSPTPGU
42-4FSWFS%BUBCBTF&OHJOF5VOJOH"EWJTPS
5FTU w ࠶ͼΫΤϦͷϓϩϑΝΠϦϯά w มߋ͕ͨΒͨ͜͠ͱΛ֬ೝ͔ͯ͠Β ࡞ۀ͢Δ
0QUJNJ[Fʢ࠷దԽʣ w ͳΔ͖ΩϟογϡϝϞϦʹͷͤΑ͏ ˞ͨͩ͠ɺͦΕ͓͍ͷγεςϜʹ ґଘ͠·͢ w ΠϯσοΫεΛ͋Β͔͡ΊΩϟογϡʹ ͷͤΔͱϝϦοτ͕ಘΒΕΔέʔε
.Z4RMɿ-0"%*/%&9*/50$"$)&
3FCVJMEʢ࠶ߏஙʣ w ΠϯσοΫεߦͷߋ৽আʹΑͬ ͯɺ࣍ୈʹෆۉߧʹ ϦϏϧυ͠·͠ΐ͏ w .JDSPTPGU "-5&3*/%&9ʜ3&$03(/*;&
ΠϯσοΫεͲ͏͚ͭΔ͔ͬ ͯɺ͍͠Ͷ ᶃΠϯσοΫε͕༻͞ΕΔՄೳੑ͕ߴ͍߹ͷΈઃ ఆ͢ΔΑ͏ʹઃܭ͢Δ ӡ༻தͷύϑΥʔϚϯεվળΛߦ͍ͭͭɺඞཁͳΠϯσοΫεͷΈઃఆ͍ͯ͘͠ ᶄଟগͯ͘ઃఆ͢ΔΑ͏ʹઃܭ͢Δ ଟগΠϯσοΫε͕ແବʹͳͬͯํ͕ͳ͍͕ɺӡ༻தͷύϑΥʔϚϯεվળͷػձΛ͋ ·Γ࣋ͨͳͯ͘ྑ͍Α͏ʹ͢Δ ! ྆ํΔ͠
·ͱΊ w ਪଌͷΈʹج͍ͮͯɺҋӢʹΠϯσοΫεΛͭ ͚͍͚ͯͳ͍ w ΠϯσοΫεΛཧղ͠ͳ͍··ɺ༻Մ൱Λ அ͍͚ͯ͠ͳ͍ w কདྷతͳσʔλྔͳͲɺΠϯσοΫεΛ༧ଌ͢ Δͷ͚ͬ͜͏͠ΜͲ͍
w .&/503ͷݪଇʹج͍ͮͯɺΠϯσοΫεΛ ཧ͢Δ
ΠϯσοΫ εͱྑ͘ Ͷʂʂ