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
実践ハイパフォーマンスMySQL読書会 第1回資料
Search
S.Nishio
May 22, 2014
Education
480
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
実践ハイパフォーマンスMySQL読書会 第1回資料
S.Nishio
May 22, 2014
More Decks by S.Nishio
See All by S.Nishio
数字を使った計画設定とふりかえりができる組織づくり (Startup Issue Gym #1)
nishiodens
0
770
vividgarden_bit_valley_2018_subtrack2.pdf
nishiodens
0
130
Angular2はじめました
nishiodens
0
580
Other Decks in Education
See All in Education
Tema 1. El relieve de España: Formación y características
juanmartin2026
0
39k
人工知能とは/IntroAI02
kfujita
0
110
Padlet opetuksessa
matleenalaakso
12
16k
Pharmacognosy_Chapter_-1.pdf , Definition, history & scope of pharmacognosy
ak679839
1
120
General Introduction, Composition, Chemistry & Chemical Classes, Biosources, Therapeutic uses and Commercial Application of Secondary Metabolites.
drpoonamkc
0
190
CLASSIFICATION OF CRUDE DRUGS
pawan_pharm
0
250
Book-keeping
bvr7352
0
140
パラグラフから始めるアカデミック・ライティング
neuroiwm
3
2.6k
GOVERNOR ADDRESS 2 :延岡 研一 氏(国際ロータリー第2720地区:2026-2027年度 地区ガバナー・人吉ロータリークラブ ・人吉電気工事株式会社 会長)卓話 : 2026.10.26例会・卓話
2720japanoke
0
320
Database Handling in Python: SQLite3, MySQL and CRUD Operations
madhuri28
0
140
Sekolah Sabat - Triwulan 3 2026 - Pelajaran 12
hiola
0
12k
Sekolah Sabat - Triwulan 3 2026 - Pelajaran 13
hiola
0
11k
Featured
See All Featured
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
580
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
490
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
650
Product Roadmaps are Hard
iamctodd
55
13k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
340
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
450
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.9k
How GitHub (no longer) Works
holman
316
150k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
Transcript
ୈճ࣮ફϋΠύϑΥʔϚϯε.Z42-ಡॻձ ୈҰষʮ.Z42-ͷΞʔΩςΫνϟͱྺ࢙ʯ ඌ৻༞ 2014/05/22 ࣮ફϋΠύϑΥʔϚϯεMySQLಡॻձ@ TIMࣾ
ষͷ֓ཁ • MySQLΛ࠷େݶʹ׆༻͢ΔͨΊʹ – MySQLͷઃܭΛཧղ͢Δࣄ͕ॏཁ • MySQLαʔόΞʔΩςΫνϟΛ၆ᛌతʹଊ͑Δ – ετϨʔδΤϯδϯ͝ͱͷҧ͍Կ͔?
– ͦ͏ͨ͠ҧ͍͕ͳͥॏཁͳͷ͔? • MySQLྺ࢙తͳഎܠͱϕϯνϚʔΫʹ͍ͭͯ 2014/05/22 ࣮ફϋΠύϑΥʔϚϯεMySQLಡॻձ@ TIMࣾ 2 / 27
.Z42-ͷཧΞʔΩςΫνϟ 2014/05/22 ࣮ફϋΠύϑΥʔϚϯεMySQLಡॻձ@ TIMࣾ 3 / 27
ଓ / εϨουॲཧ ΫΤϦ Ωϟογϡ ύʔαʔ ΦϓςΟϚΠβ ΫϥΠΞϯτ ετϨʔδΤϯδϯ MySQLಛ༗ͷͷͰͳ͍αʔϏεؚΉ ଓॲཧɺೝূɺηΩϡϦςΟ MySQLͷத෦ ΫΤϦղੳɺੳɺ࠷దԽɺΩϟογϡɺ ΈࠐΈؔ(ɺ࣌ؒɺࢉज़ԋࢉɺ ҉߸Խ) ͷίʔυؚ͕·ΕΔ ετΞυɺτϦΨɺϏϡʔ͜ͷϨϕϧ ʹଐ͍ͯ͠Δ MySQLʹ֨ೲ͞ΕΔͯ͢ͷσʔλ อଘɺऔಘΛड͚࣋ͭ αʔόετϨʔδΤϯδϯAPIΛ௨͡ ͯΓͱΓΛ͢Δ ϨΠϠ1 ϨΠϠ2 ϨΠϠ3
ฒߦੑͷ੍ޚ • αʔόϨϕϧͱετϨʔδΤϯδϯϨϕϧͷೋͭͰ ੍ޚ͢Δඞཁ͋Γ – ฒߦੑͷ੍ޚॏཁͳςʔϚ͕ͩɺৄࡉऔΓ্͛ͳ͍ • ϩοΫ – ಡΈऔΓϩοΫ(ڞ༗ϩοΫ)
– ॻ͖ࠐΈϩοΫ(ഉଞϩοΫ) • ϩοΫͷཻ – ςʔϒϧϩοΫ • ͬͱΦʔόʔϔου͕͍ – ߦϩοΫ • ฒߦੑ͕࠷ߴ͘ɺΦʔόʔϔου࠷ߴ͍ • αʔόͰͳ͘ετϨʔδΤϯδϯͰ࣮͞Ε͍ͯΔ – InnoDBXtraDBͳͲͷετϨʔδΤϯδϯͰར༻Մೳ 2014/05/22 ࣮ફϋΠύϑΥʔϚϯεMySQLಡॻձ@ TIMࣾ 4 / 27 ಡΈऔΓྃ·ͰσʔλΛมߋ͠ͳ͍ͰͶ ϑϥάΛཱͯΔ Ϧιʔεͷಉ࣌ߋ৽Λ͙ͨΊͷϩοΫ
τϥϯβΫγϣϯ"$*% • ΞτϛοΫੑ(Atomicity) – All or nothing
– τϥϯβΫγϣϯશମͷॲཧ͕ͯྃ͢͢Δ͔/͠ͳ͍͔ • Ұ؏ੑ (Consistency) – Ұ؏ͨ͠ঢ়ଶ͔ΒҰ؏ͨ͠ঢ়ଶͷભҠͱͳΔ͜ͱ • τϥϯβΫγϣϯ్தͰΫϥογϡͯ͠ɺDBͷมߋ͕ແ͍͜ͱ • ੑ(Isolation) – τϥϯβΫγϣϯ్த݁ՌଞτϥϯβΫγϣϯ͔Βݟ͑ͳ͍͜ͱ • Ӭଓੑ(Durability) – ίϛοτ͞ΕͨτϥϯβΫγϣϯͷมߋ֬ఆ͞ΕΔ͜ͱ 2014/05/22 ࣮ફϋΠύϑΥʔϚϯεMySQLಡॻձ@ TIMࣾ 5 / 27
Ϩϕϧ • ੑͷϨϕϧΛઃఆͰ͖Δ – Ϩϕϧ͕͍΄Ͳฒߦੑ͕ߴ͘ͳΓΦʔόʔϔου͕ݮΔ • READ UNCOMMITTED –
ίϛοτ͞Ε͍ͯͳ͍τϥϯβΫγϣϯͷ݁Ռ͕ଞτϥϯβ Ϋγϣϯ͔Βݟ͑Δ • READ COMMITTED (ଟ͘ͷDBͷσϑΥϧτ) – ৗʹ࠷৽ͷίϛοτࡁΈσʔλΛಡΈऔΔ • REPEATABLE READ (MySQLσϑΥϧτ) – τϥϯβΫγϣϯ࣮ߦதɺಡΈऔΓରͷσʔλ͕ ଞτϥϯβΫγϣϯʹΑͬͯมߋ͞Εͳ͍ • SERIALIZABLE – ϊϯϦϐʔλϒϧϦʔυɺϑΝϯτϜϦʔυͷ͕ ൃੜ͠ͳ͍ – σʔλͷ҆ఆੑ֬อ͞ΕΔ͕ɺฒߦੑԼ 2014/05/22 ࣮ફϋΠύϑΥʔϚϯεMySQLಡॻձ@ TIMࣾ 6 / 27 Ϩϕϧߴ Ϩϕϧ
3&"%$0..*55&%ͷ • ϊϯϦϐʔλϒϧϦʔυ / ϑΝϯτϜϦʔυ͕ൃੜ • ϊϯϦϐʔλϒϧϦʔυͱ? 2014/05/22 ࣮ફϋΠύϑΥʔϚϯεMySQLಡॻձ@
TIMࣾ 7 / 27 Transaction A Start; 1. A ͞ΜͷߴΛSELECT (100ԁ) 3. A͞ΜͷߴΛ200ԁʹ͢Δ 5. COMMIT; Transaction B Start; 2. A ͞ΜͷߴΛSELECT (100ԁ) 4. A͞ΜͷߴΛSELECT (100ԁ) 6. A͞ΜͷߴΛSELECT (200ԁ!!) 7. COMMIT; ৗʹίϛοτࡁΈͷ࠷৽σʔλΛ ಡΈऔΔͨΊൃੜ
3&1&"5"#-&3&"%ͷ • ϑΝϯτϜϦʔυ͕ൃੜ – ˞ MySQLͰʢผͷΈʹΑΓʣϑΝϯτϜϦʔυൃੜ͠ͳ͍ • ϑΝϯτϜϦʔυͱ?
2014/05/22 ࣮ફϋΠύϑΥʔϚϯεMySQLಡॻձ@ TIMࣾ 8 / 27 Transaction A Start; 1. Select * from users; (A͞Μ) 3. UsersςʔϒϧʹB͞ΜՃ 5. COMMIT; Transaction B Start; 2. Select * from users; (A͞Μ) 4. Select * from users; (A͞Μ) 6. Select * from users; (A͞ΜɺB͞Μ) ͖ͬ͞·Ͱ͍ͳ͔ͬͨB͞Μ͕ ಥવݱΕͨ
"/4*42-Ϩϕϧ 2014/05/22 ࣮ફϋΠύϑΥʔϚϯεMySQLಡॻձ@ TIMࣾ 9 / 27
Ϩϕϧ μʔςΟʔ Ϧʔυ ϊϯϦϐʔλ ϒϧϦʔυ ϑΝϯτϜ Ϧʔυ ಡΈऔΓϩο Ϋ READ UNCOMMITTED YES YES YES NO READ COMMITTED NO YES YES NO REPEATABLE READ NO NO YES NO SERIARIZABLE NO NO NO YES
σουϩοΫ 2014/05/22 ࣮ફϋΠύϑΥʔϚϯεMySQLಡॻձ@ TIMࣾ 10 / 27
A͞Μͷ༬ۚ B͞Μͷ༬ۚ Transaction A Transaction B ߋ৽͢ΔͨΊϩοΫ ղআͪ ߋ৽͢ΔͨΊϩοΫ ղআͪ Transaction A/B A, B͞Μͷ༬ۚใΛߋ৽͍ͨ͠
ςʔϒϧΛߋ৽͢Δͱ ϥϯμϜI/O͕ൃੜ τϥϯβΫγϣϯϩά 2014/05/22 ࣮ફϋΠύϑΥʔϚϯεMySQLಡॻձ@ TIMࣾ 11 /
27 ͜͜ͰΫϥογϡͯ͠ɺτϥϯβΫγϣϯϩά͔Β෮چՄೳ • τϥϯβΫγϣϯޮԽʹཱͭ • τϥϯβΫγϣϯϩάΛͬͨϩάઌߦॻ͖ࠐΈ 1. σΟεΫ্ͷςʔϒϧΛߋ৽͢ΔͷͰͳ͘ɺϝϞϦ্ͷ ίϐʔΛมߋ͢Δ • ඇৗʹߴͳॻ͖ࠐΈ͕Մೳ 2. ετϨʔδΤϯδϯมߋهΛτϥϯβΫγϣϯϩάʹॻ͖ ࠐΉ • σΟεΫ্ͷσʔλͳͷͰӬଓੑ͋Γ • γʔέϯγϟϧͳI/O͕༻͞ΕΔ (ൺֱతߴʹߋ৽͞ΕΔ) 3. λΠϛϯάΛݟܭΒͬͯɺσΟεΫ্ͷςʔϒϧΛߋ৽ มߋΛσΟεΫʹ2ճॻ͖ࠐΉ͜ͱʹͳΔ
.Z42-ͷτϥϯβΫγϣϯ • σϑΥϧτAUTO COMMIT – τϥϯβΫγϣϯΛ໌ࣔ͠ͳ͍ݶΓɺͦΕͧΕผͷ τϥϯβΫγϣϯͱ࣮ͯ͠ߦ͞ΕΔ •
ෳετϨʔδΤϯδϯͷซ༻ – τϥϯβΫγϣϯαʔόϨϕϧͰཧͤͣɺ࣮ ετϨʔδΤϯδϯʹ͞Ε͍ͯΔ – ෳΤϯδϯؒͰ1ͭͷτϥϯβΫγϣϯΛுΔࣄෆՄೳ • ҉తͳϩοΫͱ໌ࣔతͳϩοΫ – InnoDB2૬ͷϩοΫϓϩτίϧΛར༻ • τϥϯβΫγϣϯத͍ͭͰϩοΫऔಘՄೳ͕ͩɺCOMMIT, ROLLBACK͢Δ·Ͱղ๏͞Εͳ͍ • ϩοΫͯ͢ͷϩοΫΛಉ࣌ʹղ์͢Δ – ໌ࣔతͳϩοΫ ( SELECT … FOR UPDATE) 2014/05/22 ࣮ફϋΠύϑΥʔϚϯεMySQLಡॻձ@ TIMࣾ 12 / 27
Ϛϧνόʔδϣϯͷฒߦੑ੍ޚ .7$$ • MySQLͷετϨʔδΤϯδϯͷ΄ͱΜͲߦϩοΫΛ Θͳ͍ • ߦϩοΫͱMVCCΛΈ߹Θͤͯ༻͍ͯ͠Δ –
MVCCOracle, PostgreSQL ͳͲͰ࣮͞Ε͍ͯΔ • MVCCREPEATABLE READ, READ COMMITTEDʹͷΈରԠ • MySQL REPEATABLE READͰϑΝϯτϜϦʔυ͕ൃੜ͠ͳ ͍ͷɺMVCCͷ͓͔͛ 2014/05/22 ࣮ફϋΠύϑΥʔϚϯεMySQLಡॻձ@ TIMࣾ 13 / 27
.7$$ͱ • MVCCΛ͏ͱɺෳτϥϯβΫγϣϯ͕ಉ͡ςʔϒϧ ͷҟͳΔσʔλΛಉ࣌ʹࢀরͰ͖Δ • InnoDBͰɺߦ͝ͱʹӅΕͨೋͭͷΛ֨ೲ – ߦ͕࡞͞ΕͨλΠϛϯά
– ߦ͕ظݶΕ(আ͞ΕͨʣλΠϛϯά • ্هʹೖΕΔɺ֤Πϕϯτ͕ൃੜͨ࣌͠ͷγεςϜ όʔδϣϯ൪߸ – τϥϯβΫγϣϯ͕։࢝͞ΕΔͨͼʹ൪߸ΠϯΫϦϝϯτ͞ ΕΔ – ΫΤϦͦΕͧΕ֤ߦͷόʔδϣϯ൪߸ΛτϥϯβΫγϣϯͷ όʔδϣϯͱൺֱ͢Δඞཁ͕͋Δ 2014/05/22 ࣮ફϋΠύϑΥʔϚϯεMySQLಡॻձ@ TIMࣾ 14 / 27
.7$$ͱr*OTFSU࣌ 2014/05/22 ࣮ફϋΠύϑΥʔϚϯεMySQLಡॻձ@ TIMࣾ 15 / 27
ߦA ߦB ߦC -‐ 1 1 1 Ճόʔδϣϯ আόʔδϣϯ -‐ -‐ ߦD 2 -‐ τϥϯβΫγϣϯA (version: 2) ͕σʔλD ΛՃ Trn A InnoDBݱࡏͷγεςϜ όʔδϣϯ൪߸(2) Λ৽͍͠ߦʹه͢Δ
.7$$ͱr6QEBUF࣌ 2014/05/22 ࣮ફϋΠύϑΥʔϚϯεMySQLಡॻձ@ TIMࣾ 16 / 27
ߦA ߦB ߦC -‐ 1 1 1 Ճόʔδϣϯ আόʔδϣϯ -‐ -‐ ߦD2 3 -‐ τϥϯβΫγϣϯA (version: 3) ͕σʔλD Λमਖ਼ ʢσʔλΛߦD͔ΒߦD2 ʹߋ৽) Trn A ৽͍͠ߦͷόʔδϣϯʹରԠ͢Δ γεςϜόʔδϣϯ൪߸Λͬͯɺ ߦͷ৽͍͠ίϐʔΛॻ͖ग़͢ ݹ͍ߦͷআόʔδϣϯͱͯ͠γ εςϜόʔδϣϯ൪߸Λॻ͖ग़͢ ߦD 2 3
.7$$ͱr4FMFDU࣌ 2014/05/22 ࣮ફϋΠύϑΥʔϚϯεMySQLಡॻձ@ TIMࣾ 17 /
27 ߦA ߦB ߦC -‐ 1 1 1 Ճόʔδϣϯ আόʔδϣϯ -‐ -‐ ߦD2 3 -‐ τϥϯβΫγϣϯA (version: 4) ͕SELECT * from table; Trn A 1. τϥϯβΫγϣϯͱಉ͔͡ɺͦΕҎ લͷόʔδϣϯߦΛݕࡧ͠ͳ͚Εͳ Βͳ͍ 2. আόʔδϣϯະఆٛͰ͋Δ͔ɺ τϥϯβΫγϣϯͷόʔδϣϯΑΓ ৽͍͠όʔδϣϯͰແ͚ΕͳΒͳ͍ ্ه2ͭΛݟͨͨ͠σʔλΛฦ͢ ߦD 2 3 σʔλɺA, B, C, D2 ͕ͱΕΔ
.7$$ͱr4FMFDU࣌ 2014/05/22 ࣮ફϋΠύϑΥʔϚϯεMySQLಡॻձ@ TIMࣾ 18 /
27 ߦA ߦB ߦC -‐ 1 1 1 Ճόʔδϣϯ আόʔδϣϯ -‐ -‐ ߦD2 3 -‐ τϥϯβΫγϣϯA (version: 2) ͕SELECT * from table; Aͷ్தͰτϥϯβΫγϣϯB(version:3 )͕σʔλߋ৽, COMMIT Trn A ߦD 2 3 σʔλɺA, B, C, D ͕ͱΕΔ Trn B ߦDΛߦD2ʹߋ৽ 1. τϥϯβΫγϣϯͱಉ͔͡ɺͦΕҎલͷ όʔδϣϯߦΛݕࡧ͠ͳ͚ΕͳΒͳ͍ 2. আόʔδϣϯະఆٛͰ͋Δ͔ɺτϥϯ βΫγϣϯͷόʔδϣϯΑΓ৽͍͠όʔ δϣϯͰແ͚ΕͳΒͳ͍ ϊϯϦϐʔλϒϧϦʔυ͕ൃੜ͠ͳ͍!!
.7$$ͱr4FMFDU࣌ 2014/05/22 ࣮ફϋΠύϑΥʔϚϯεMySQLಡॻձ@ TIMࣾ 19 /
27 ߦA ߦB ߦC -‐ 1 1 1 Ճόʔδϣϯ আόʔδϣϯ -‐ -‐ τϥϯβΫγϣϯA (version: 2) ͕SELECT * from table; Aͷ్தͰτϥϯβΫγϣϯB(version:3 )͕σʔλInsert, COMMIT Trn A ߦD 3 -‐ σʔλɺA, B, C ͕ͱΕΔ Trn B ߦDΛInsert 1. τϥϯβΫγϣϯͱಉ͔͡ɺͦΕҎલͷ όʔδϣϯߦΛݕࡧ͠ͳ͚ΕͳΒͳ͍ 2. আόʔδϣϯະఆٛͰ͋Δ͔ɺτϥϯ βΫγϣϯͷόʔδϣϯΑΓ৽͍͠όʔ δϣϯͰແ͚ΕͳΒͳ͍ ϑΝϯτϜϦʔυ͕ൃੜ͠ͳ͍!!
.Z42-ͷετϨʔδΤϯδϯ 2014/05/22 ࣮ફϋΠύϑΥʔϚϯεMySQLಡॻձ@ TIMࣾ 20 / 27
• ֤σʔλϕʔεΛͦͷσʔλσΟϨΫτϦͷαϒσΟϨ ΫτϦͱͯ͠ϑΝΠϧγεςϜʹ֨ೲ • ςʔϒϧ࡞ͷࡍɺ.frm֦ுࢠ͕͍ͭͨϑΝΠϧʹςʔ ϒϧఆٛΛอଘ • ςʔϒϧʹؔ͢ΔใɺSHOW TABLE STATUSͰ֬ೝ
4)085"#-&45"564 2014/05/22 ࣮ફϋΠύϑΥʔϚϯεMySQLಡॻձ@ TIMࣾ 21 / 27
*OOP%#Τϯδϯ • ྺ࢙লུ • InnoDB֓ཁ – MVCCΛ͍ߴ͍ฒߦੑΛ࣮ݱɺϨϕϧશ࣮ͯ – σϑΥϧτͰREPEATABLE
READϨϕϧ • ϑΝϯτϜϦʔυΛ્ࢭ͢ΔωΫετΩʔϩοΫΛద༻ – ςʔϒϧΫϥελԽΠϯσοΫεʹج͍ͮͯߏங͞ΕΔ • ΫϥελԽΠϯσοΫε5ষʹͯͰͯ͘Δ • ΠϯσοΫεʹσʔλ͕͍ͬͭͨ͘ͷ – ηΧϯμϦΠϯσοΫεʹओΩʔؚ͕·ΕΔͷͰɺओΩʔ͕େ ͖͍߹ΠϯσοΫε͕େ͖͘ͳΔ 2014/05/22 ࣮ફϋΠύϑΥʔϚϯεMySQLಡॻձ@ TIMࣾ 22 / 27
.Z*4".Τϯδϯ • શจΠϯσοΫεɺѹॖɺGISؔΛఏڙ • τϥϯβΫγϣϯߦϨϕϧͰαϙʔτ͍ͯ͠ͳ͍ • ΫϥογϡηʔϑͰͳ͍ • χονͳχʔζΛຬͨͨ͢Ίͷػೳ͕৭ʑ͋ΔΒ͍͠ •
σʔλετϨʔδ͕ίϯύΫτɺ͔ͭγϯϓϧͰ Φʔόʔϔου͕গͳ͍ – ༻్ʹΑͬͯ༏ΕͨύϑΥʔϚϯεΛୡͰ͖Δ 2014/05/22 ࣮ફϋΠύϑΥʔϚϯεMySQLಡॻձ@ TIMࣾ 23 / 27
ͦͷଞͷΈࠐΈΤϯδϯ • Archive • Blackhole • CSV
• Federated • Memory • Merge • NDB Cluster ͳͲͳͲ 2014/05/22 ࣮ફϋΠύϑΥʔϚϯεMySQLಡॻձ@ TIMࣾ 24 / 27 ݸਓతͳײ BlackholeͬͯΔਓ͍ͨΒ͖͖͍ͨɺҰମԿʹ͏ͷ͔?
ਖ਼͍͠ετϨʔδΤϯδϯͷબ ʮInnoDBʹͳ͍ػೳ͕ඞཁͰ͋ΓɺInnoDBʹΑ͍ସࡦ ͕ແ͍ͱ͍͏߹Ͱͳ͍ݶΓɺInnoDBΛ༻͢Δʯ • ʮMyISAMInnoDBΑΓߴͰ͋ΔʯΛӏವΈʹ͠ͳ͍ 2014/05/22 ࣮ફϋΠύϑΥʔϚϯεMySQLಡॻձ@ TIMࣾ
25 / 27
ςʔϒϧͷม • ALTER TABLEͰςʔϒϧม – > ALTER TABLE mytable ENGINE
= InnoDB; – ͜ͷίϚϯυ͕͔͔࣌ؒΔՄೳੑ͕͋Δ – ετϨʔδΤϯδϯݻ༗ͷػೳফ͑Δ • InnoDB -‐> MyISAM -‐> InnoDBͱม͢Δͱɺ࠷ॳʹఆٛ͞Ε͍ͯͨ ֎෦Ωʔͯ͢ফ͑Δ • MysqldumpͰม – μϯϓͯ͠ɺCREATE TABLEΛௐઅ͢Δ • CREATE SELECTͰม – > CREATE TABLE innodb_table LIKE myisam_table; – > ALTER TABLE innodb_table ENGINE=InnoDB; – > INSERT INTO innodb_table SELECT * from myisam_table; 2014/05/22 ࣮ફϋΠύϑΥʔϚϯεMySQLಡॻձ@ TIMࣾ 26 / 27
.Z42-ͷྺ࢙ • 1.6 ࢀর 2014/05/22 ࣮ફϋΠύϑΥʔϚϯεMySQLಡॻձ@ TIMࣾ 27
/ 27