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.7k
MySQLのロックについて(DDL編)
ANDPAD inc
August 18, 2020
Tweet
Share
More Decks by ANDPAD inc
See All by ANDPAD inc
OSS開発者という働き方
andpad
5
1.6k
Vue・React マルチプロダクト開発を支える Vite
andpad
0
110
プロダクト開発を支えるデータ利活用:中央集権から「民主化」までの軌跡
andpad
0
140
アンドパッドの Go 勉強会「 gopher 会」とその内容の紹介
andpad
0
370
読もう! Android build ドキュメント
andpad
1
430
アンドパッドにおける CocoaPods ライブラリ群の SwiftPackageManager への移行戦略
andpad
0
210
Flutter は DCM が 9 割
andpad
1
350
Amplify で SPA をホスティングする際の注意点
andpad
1
290
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
andpad
0
140
Other Decks in Technology
See All in Technology
「守る」から「進化させる」セキュリティへ ~AWS re:Inforce 2025参加報告~ / AWS re:Inforce 2025 Participation Report
yuj1osm
1
180
Flutterでキャッチしないエラーはどこに行く
taiju59
0
210
スプリントレトロスペクティブはチーム観察の宝庫? 〜チームの衝突レベルに合わせたアプローチ仮説!〜
electricsatie
1
140
JuniorからSeniorまで: DevOpsエンジニアの成長ロードマップ
yuriemori
2
340
DDD集約とサービスコンテキスト境界との関係性
pandayumi
2
110
絶対に失敗できないキャンペーンページの高速かつ安全な開発、WINTICKET × microCMS の開発事例
microcms
0
360
20250903_1つのAWSアカウントに複数システムがある環境におけるアクセス制御をABACで実現.pdf
yhana
1
140
MCPで変わる Amebaデザインシステム「Spindle」の開発
spindle
PRO
2
1.5k
「魔法少女まどか☆マギカ Magia Exedra」の必殺技演出を徹底解剖! -キャラクターの魅力を最大限にファンに届けるためのこだわり-
gree_tech
PRO
0
420
生成AI時代のデータ基盤設計〜ペースレイヤリングで実現する高速開発と持続性〜 / Levtech Meetup_Session_2
sansan_randd
1
100
プロダクトの成長に合わせたアーキテクチャの段階的進化と成長痛、そして、ユニットエコノミクスの最適化
kakehashi
PRO
1
110
『FailNet~やらかし共有SNS~』エレベーターピッチ
yokomachi
1
190
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
How to train your dragon (web standard)
notwaldorf
96
6.2k
For a Future-Friendly Web
brad_frost
179
9.9k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
The Language of Interfaces
destraynor
160
25k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
284
13k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
185
54k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
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