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
introduction about MySQL
Search
Arakaki Yuji
June 15, 2019
Programming
0
160
introduction about MySQL
MySQLの基本的な操作やRDBとしての設計・利用などはできるがMySQLのソフトウェアとしての特性をまだちゃんと理解していない方向けMySQLの特徴が伝わるように作りました。
Arakaki Yuji
June 15, 2019
Tweet
Share
More Decks by Arakaki Yuji
See All by Arakaki Yuji
家族・子育て重視/沖縄在住を維持しながらエンジニアとしてのキャリアをどのように育てていくか?
ug
0
260
私の選ぶ開発環境: Raycast, Vivaldi, Warp, Emacsを活用したワークフロー
ug
0
1.2k
2週間に一度からリリースを日々の当たり前にするエンジニアリングマネジメント
ug
0
1.4k
レガシーフレームワークからの移行
ug
0
400
データ指向プログラミング(仮)のススメ
ug
1
500
プログラミング言語に依存しない、質の高いコードを書く技術
ug
0
2.3k
Issues About frontend development
ug
0
2.8k
Azure web app is good
ug
0
440
技術基盤/SREの視点で取り組む、サービスの成長を継続し、加速させるためのPHPアプリケーション改善
ug
0
1.3k
Other Decks in Programming
See All in Programming
データベースエンジニアの仕事を楽にする。PgAssistantの紹介
nnaka2992
9
4.4k
リストビュー画面UX改善の振り返り
splcywolf
0
110
AtCoder Heuristic First-step Vol.1 講義スライド(山登り法・焼きなまし法編)
takumi152
4
1k
WordPress Playground for Developers
iambherulal
0
130
Rollupのビルド時間高速化によるプレビュー表示速度改善とバンドラとASTを駆使したプロダクト開発の難しさ
plaidtech
PRO
1
150
Youtube Lofier - Chrome拡張開発
ninikoko
0
2.3k
リアクティブシステムの変遷から理解するalien-signals / Learning alien-signals from the evolution of reactive systems
yamanoku
2
1.2k
タイムゾーンの奥地は思ったよりも闇深いかもしれない
suguruooki
1
450
コンテナでLambdaをデプロイするときに知っておきたかったこと
_takahash
0
170
Building Scalable Mobile Projects: Fast Builds, High Reusability and Clear Ownership
cyrilmottier
2
240
Fluent UI Blazor 5 (alpha)の紹介
tomokusaba
0
170
Coding Experience Cpp vs Csharp - meetup app osaka@9
harukasao
0
680
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2.2k
Scaling GitHub
holman
459
140k
A better future with KSS
kneath
239
17k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.6k
Product Roadmaps are Hard
iamctodd
PRO
52
11k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
12
1.4k
Practical Orchestrator
shlominoach
186
10k
Producing Creativity
orderedlist
PRO
344
40k
Making the Leap to Tech Lead
cromwellryan
133
9.2k
Raft: Consensus for Rubyists
vanstee
137
6.9k
Faster Mobile Websites
deanohume
306
31k
Transcript
MySQL Payke
Goal u MySQL!RDBM MySQLNS!CHM @ ?O u 24%6=+,71='095:)7."=' MySQLNS
!CHDG JF! KP u MySQLQ+0;*$=*= BAInnoDB >I u TR L E03-&#=/-&+09=(&)8=<-& U
u MySQL u u
u
MySQL!& u +($*%() #0 u '+"1. = 1) # u
) # 1./ Linuxps%+# -, u SHOW PROCESSLIST %+# , u PostgreSQL %($*0 u '+"11. = 1$*
MySQL u
MySQL" u !#$$ u MySQL%+2 &1()0, u
/!#$$. -3'*. u InnoDB u MyISAM u Memory u MyRocks
u u
u
-!"61&#! u InnoDB%*/81&#! 321&#! -!"61&#! u -!"61&#!B$..)('0 '7-,&" :=
u 0 '&":= 391&#!5 394<0! +1!;
+)+! u (0+! +! u +)+! )&$#(0+! 6,
u +)+! 3 1:% " .(0 +! 1: *'+5 u (0+! 1:4 79228-/
)-/!/(& " u /(& ";< -79: u /(& ">?
u '*. #" 2=79: u ,"$5/(& " 6@10'*. ,+<3 )-/!/(& "=4 79: u #/%-/(& " 6@10#/%-/(& "A , +< ,"$5/(& ",+< 8)-/!/ (& "
u u READ UNCOMMITTED
u READ COMMITTED u REPEATABLE READ u SERIALIZABLE u MySQL u MVCC
!% %&-#" u !% % &-) % # u .0
&- $(/ %,' u %&-) #(/ 4 &-#" (SQL+*) u READ UNCOMMITTED u READ COMMITED u REPEATABLE READ u SERIALIZABLE
READ UNCOMMITED u &#% %)* (*035%)* (*, u &#%
$!6 4 u -./1+2 "'!
READ COMMITTED u ).1" #-17 ?E !+&) ).1" #-1FN
u ).1" #-1<FN!+&) K).1" #-1 7 u 5J0*/ MG u 8$'),1)2=@3 L(% H GCA u A).1" #-1@32;B).1" #-1 !+&) 64A< B>(%B!+&):9OIBDGCA
REPEATABLE READ u MySQL$& *%%),"!#(,/D+'* u READ UNCOMMITED FB
C u %),"!#(, I:- 2%),"!#(,= EI:21 8@ u ;>G u KH-7J 4A%),"!#(, KH5 -L3 0.2KH7J5 - < u InnoDB0.MVCC9 ;>?6
SERIALIZABLE u 80*/5B> u '-2#"$,2A467 '-2#"$,2=<:CF )2'+.(@ u E;
31&"?9 u % +!'1&"A4G6 D
MySQLW7BAX: MVCC u MultiVesion Concurrency Control[ u ;DTM,)(.*0&2*-"IC SF?I
u InnoDB98 u 7 \!R"JZ u 7 IC! &(+1/'26PY u 7 VU! &(+1/'26PY u &(+1/'26PY-36%$&26 >K EL u N-36%$&26>K;D&(+1/'26PY"HQ u -36%$&26<$#47ICVU&(+1/'26PY" ,)"@G]I u -36%$&26&(+1/'26=&(+1/'267": "5*$O
MySQL7'.-8: MVCC u " u 2 %3,.96 1
!& &(5$#+/ u )4 !& &(5$#0* u REPETABLE READ u READ COMMITTED
u u u u u
u u u
! u (# ) u $ #
u u %"( ) u #
!.) u ! u +*! u "! u -("!
u ! u "! "!0'"& ! u id124 u UPDATE users SET age = 30 WHERE id BETWEEN 2 AND 4 , $#' id=3& /%!
0(&A8 u *&')$0(& u 20(&%-(,0(&<3" u 20(	 7%-(,1@0(& ! u
1,2,4? 43 u (negative infinity 1] u (1 2] u (2 3] u (4 positive infinity] u *&')$0(&:=2positivie infinity0(& ! INSERT ).+/ 56 >;