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のロックについて(DDL編)
Search
ANDPAD inc
August 18, 2020
Technology
1
9.6k
MySQLのロックについて(DDL編)
ANDPAD inc
August 18, 2020
Tweet
Share
More Decks by ANDPAD inc
See All by ANDPAD inc
アンドパッドにおける CocoaPods ライブラリ群の SwiftPackageManager への移行戦略
andpad
0
30
Flutter は DCM が 9 割
andpad
1
40
Amplify で SPA をホスティングする際の注意点
andpad
0
25
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
andpad
0
63
rails stats で紐解く ANDPAD のイマを支える技術たち
andpad
1
390
本編では話さない Zig の話
andpad
2
250
"noncopyable types" の使いどころについて考えてみた
andpad
0
390
ANDPAD黒板のオフラインモード機能 リリースまでの軌跡
andpad
0
280
アンドパッドのマルチプロダクト戦略を支える SRE
andpad
1
250
Other Decks in Technology
See All in Technology
Visualize, Visualize, Visualize and rclone
tomoaki0705
9
83k
AIエージェント元年@日本生成AIユーザ会
shukob
1
240
【詳説】コンテンツ配信 システムの複数機能 基盤への拡張
hatena
0
280
手を動かしてレベルアップしよう!
maruto
0
240
Pwned Labsのすゝめ
ken5scal
2
490
入門 PEAK Threat Hunting @SECCON
odorusatoshi
0
170
AWS Well-Architected Frameworkで学ぶAmazon ECSのセキュリティ対策
umekou
2
150
Apache Iceberg Case Study in LY Corporation
lycorptech_jp
PRO
0
350
2/18 Making Security Scale: メルカリが考えるセキュリティ戦略 - Coincheck x LayerX x Mercari
jsonf
0
230
困難を「一般解」で解く
fujiwara3
7
1.5k
いまからでも遅くない!コンテナでWebアプリを動かしてみよう!コンテナハンズオン編
nomu
0
170
データエンジニアリング領域におけるDuckDBのユースケース
chanyou0311
9
2.4k
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
34
3.1k
Designing Experiences People Love
moore
140
23k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Become a Pro
speakerdeck
PRO
26
5.2k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
Faster Mobile Websites
deanohume
306
31k
How to Ace a Technical Interview
jacobian
276
23k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Transcript
.Z42-ͷϩοΫʹ͍ͭͯ ʙ%%-ฤʙ
࣍ w%%-ͷΈͱվળͷาΈ wΦϯϥΠϯ%%- wNFUBEBUBMPDLʹؾΛ͚Ζ w"-5&3ؔ࿈ͷখٕ w"NB[PO"VSPSBͱ7BOJMMB.Z42-ͷҧ͍ wਪͷ%%-ϦϦʔεํ๏
͓͞Β͍ w%%- %BUB%FpOJUJPO-BOHVBHF w $3&"5& %301 "-5&3 536/$"5& w%.-
%BUB.BOJQVMBUJPO-BOHVBHF w 4&-&$5 */4&35 61%"5& %&-&5& w%$- %BUB$POUSPM-BOHVBHF w #&(*/ $0..*5 30--#"$,
࣍ w%%-ͷΈͱվળͷาΈ wΦϯϥΠϯ%%- wNFUBEBUBMPDLʹؾΛ͚Ζ w"-5&3ؔ࿈ͷখٕ w"NB[PO"VSPSBͱ7BOJMMB.Z42-ͷҧ͍ wਪͷ%%-ϦϦʔεํ๏
.Z42-"-5&35"#-&ͷॳظ࣮ w৽͍͠ςʔϒϧఆٛͷςʔϒϧʹσʔλΛίϐʔ w ࣮ߦதɺ؍ଌ͢ΔͱςϯϙϥϦϑΝΠϧ͕ݟ͑Δ w ίϐʔ͕ऴΘͬͨΒೖΕସ͑ w࣮ߦதॻ͖ࠐΈ͕ϒϩοΫ͞ΕΔ
վળͷาΈ w .Z42-W w 'BTU*OEFY$SFBUJPO͕αϙʔτ w .Z42-W w ΦϯϥΠϯ%%-͕αϙʔτ w
ߋ৽ϒϩοΫΛճආՄ w .Z42- w WBSDIBSͷΧϥϜ֦ு͕ΦϯϥΠϯରԠ w .Z42- w %%-͕ΞτϛοΫʹ w *OTUBOU"EE$PMVNOͷαϙʔτ
࣍ w%%-ͷΈͱվળͷาΈ wΦϯϥΠϯ%%- wNFUBEBUBMPDLʹؾΛ͚Ζ w"-5&3ؔ࿈ͷখٕ w"NB[PO"VSPSBͱ7BOJMMB.Z42-ͷҧ͍ wਪͷ%%-ϦϦʔεํ๏
ΦϯϥΠϯ%%- w ରԠͰ͖Δέʔεͱͦ͏Ͱͳ͍έʔε͕͋Δ IUUQTEFWNZTRMDPNEPDSFGNBOKBJOOPECDSFBUFJOEFYPWFSWJFXIUNM wରԠ͍ͯ͠Δ߹ɺࣗಈతʹΦϯϥΠϯ%%-͕બ͞ΕΔ
ΦϯϥΠϯ%%- w ΦϯϥΠϯ%%-ɹରԠɾඇରԠ w ˓ΠϯσοΫεՃɾআɺΧϥϜՃɾআ w ºWBSDIBSΧϥϜͷมߋʢWʣ w ºΧϥϜͷܕͷมߋ w
-0$,/0/& "-(03*5).*/1-"$&Λ໌ࣔతʹࢦఆ͠ɺผՄೳ mysql> ALTER TABLE sbtest.sbtest1 MODIFY COLUMN v1 VARCHAR(110), LOCK=NONE, ALGORITHM=INPLACE; ERROR 1846 (0A000): LOCK=NONE is not supported. Reason: COPY algorithm requires a lock. Try LOCK=SHARED.
ΦϯϥΠϯ%%-ͷҙ w NFUBEBUBMPDLճආ͢Δ͜ͱͰ͖ͳ͍ʢޙड़ʣ w ॻ͖ࠐΈϒϩοΫൃੜ͠ͳ͍͕ɺϨϓϦԆൃੜ͢Δ ˞"84"VSPSBͰϨϓϦԆ΄΅ൃੜ͠ͳ͍ʢޙड़ʣ w JOOPEC@POMJOF@BMUFS@MPH@NBY@TJ[F EFGBVMU.#
ΛඞཁʹԠͯ͡ௐ w ΦϯϥΠϯ%%-தʹߋ৽͞Εͨ༰Λ֨ೲ
࣍ w%%-ͷΈͱվળͷาΈ wΦϯϥΠϯ%%- wNFUBEBUBMPDLʹؾΛ͚Ζ w"-5&3ؔ࿈ͷখٕ w"NB[PO"VSPSBͱ7BOJMMB.Z42-ͷҧ͍ wਪͷ%%-ϦϦʔεํ๏
"-5&35"#-&ʹඞཁͳϩοΫ w %%-࣮ߦதͷϩοΫʢߋ৽ͷϒϩοΫʣˠɹΦϯϥΠϯ%%-Ͱղܾ w %%-ྃલͷϩοΫɹNFUBEBUBMPDL
NFUBEBUBMPDL
NFUBEBUBMPDL
w ͍τϥϯβΫγϣϯ͕"-5&3ͷྃΛϒϩοΫ w .%-ͪͷ"-5&3ͷྃΛɺޙଓͷ42-͕ͭ NFUBEBUBMPDL 4&44*0/ 4&44*0/ 4&44*0/ "-5&3 5*.&
8"*5 .%- 8"*5 .%-
ରࡦ w ͍τϥϯβΫγϣϯ͕ྲྀΕͯͳ͍λΠϛϯάΛૂ͏ w MPDL@XBJU@UJNFΛ͘ઃఆ͢Δ w 4&54&44*0/MPDL@XBJU@UJNF9 w աʹ͍ͱɺ"-5&3͕ࣦഊ͘͢͠ͳΔ w
ඵఔ͕ଥͰ
࣍ w%%-ͷΈͱվળͷาΈ wΦϯϥΠϯ%%- wNFUBEBUBMPDLʹؾΛ͚Ζ w"-5&3ؔ࿈ͷখٕ w"NB[PO"VSPSBͱ7BOJMMB.Z42-ͷҧ͍ wਪͷ%%-ϦϦʔεํ๏
"-5&35*14 w ෳͷมߋ̍ͭͷ"-5&3จͰ࣮ߦͰ͖Δ w ͨͩ͠ɺΦϯϥΠϯ%%-ඇରԠͷͷΛࠞͥΔͱɺϩοΫΛऔΔ mysql> ALTER TABLE sbtest.sbtest1
MODIFY COLUMN v1 VARCHAR(110), DROP COLUMN x2;
w ΦϯϥΠϯͰ%%-Λ࣮ߦ͢Δӡ༻ख๏ w ྲྀΕ ϨϓϦΧҰΛαʔϏε͔Β֎͢ TRM@MPH@CJO্ͨ͠Ͱ"-5&3࣮ࢪ ϨϓϦΧΛαʔϏεʹ͢
શͯͷϨϓϦΧʹ্هΛॱ൪ʹ࣮ࢪ "-5&3ࡁϨϓϦΧͱϚελʔΛೖΕସ͑Δ ࠷ޙʹɺچϚελʔʹରͯ͠"-5&3࣮ߦ w ҙ w "84"VSPSBͰΠϯελϯεؒϨϓϦέʔγϣϯΛར༻͢Δඞཁ͕͋Δ w ϨϓϦΧΛϚελʔʹॠ࣌ʹঢ֨Ͱ͖ΔΈ͕ඞཁ w "-5&3࣮ࢪલޙͰϨϓϦέʔγϣϯͷޓੑΛอͭมߋʹݶΒΕΔ w ˓จࣈྻͷ֦ுɺςʔϒϧඌͷΧϥϜՃ w ºܕมߋɺΧϥϜআ 3PMMJOH4DIFNB6QHSBEF 3FQMJDB 3FQMJDB "QQ .BTUFS "-5&3 3FQMJDB 3FQMJDB "QQ .BTUFS "-5&3 ࡁ .BTUFS 3FQMJDB "QQ 3FQMJDB ࡁ ࡁ
w ΦϯϥΠϯͰ%%-Λ࣮ߦ͢Δπʔϧ w Έ ৽͍͠ఆٛͷςʔϒϧΛ࡞ ϩοΫΛ͔͚ͣʹɺݱߦˠ৽ͰσʔλΛͪΐͬͱͣͭίϐʔ ݱߦςʔϒϧͷߋ৽
τϦΨʔͰ৽ςʔϒϧ࿈ܞ w ҙ w ॻ͖ࠐΈྔ͕̎ഒʹ૿͑Δ w NFUBEBUBMPDLճආͰ͖ͳ͍ QUPOMJOFTDIFNBDIBOHF
࣍ w%%-ͷΈͱվળͷาΈ wΦϯϥΠϯ%%- wNFUBEBUBMPDLʹؾΛ͚Ζ w"-5&3ؔ࿈ͷখٕ w"NB[PO"VSPSBͱ7BOJMMB.Z42-ͷҧ͍ wਪͷ%%-ϦϦʔεํ๏
"VSPSBͱ7BOJMMB.Z42-ͷҧ͍ w %%-ʹΑΔϨϓϦΧԆൃੜ͠ͳ͍ w NFUBEBUBMPDLϚελʔͰͷΈߟྀ͢Εྑ͍ w ͦͷΘΓɺ"-5&3࣮ߦ։࢝ɾྃ࣌ʹϨϓϦΧͰΫΤϦ͕୯ൃΤϥʔʹͳΔՄೳੑ͕͋Δ
࣍ w%%-ͷΈͱվળͷาΈ wΦϯϥΠϯ%%- wNFUBEBUBMPDLʹؾΛ͚Ζ w"-5&3ؔ࿈ͷখٕ w"NB[PO"VSPSBͱ7BOJMMB.Z42-ͷҧ͍ wਪͷ%%-ϦϦʔεํ๏
%%-࣮ߦӡ༻ϑϩʔ ΦϯϥΠϯ %%-ͷର͔ʁ ίʔυͱ ಉ࣌ϦϦʔε͕ඞཁʁ :&4 ਂϦϦʔε εςʔδϯάͰ ݕূ͠ɺͳ͚ΕதͰ(0 ҰॠͰ
ऴΘΔʁ :&4 /0 :&4 /0 NJHSBUJPOͰ MPDL@XBJU@UJNFPVU͕ ઃఆͰ͖ͳ͍ͷͰ खಈͰΔ
·ͱΊ w NFUBEBUBMPDLΦϯϥΠϯ%%-ͰճආͰ͖ͳ͍ͷͰҙ w "VSPSBͰϨϓϦԆ͕ൃੜ͠ͳ͍ͨΊɺΦϯϥΠϯ%%-ͷ׆༻͕͠ ͍͢ w ࠓޙɺੵۃతʹதʹ%%-Λྲྀ͍͖ͯ͠·͠ΐ͏
5IBOLT