More Related Content
PDF
PDF
PDF
20140711 MySQL Casual Talks vol.6 / 続・Amazon RDS Casual Talks PPTX
N:1 Replication meets MHA PPTX
PDF
My sql casual talks vol.6 PDF
ヤフー社内でやってるMySQLチューニングセミナー大公開 PDF
More from karupanerura
PDF
PDF
PDF
PDF
PDF
The Crystal language *recently* update PDF
PPTX
TIme::Moment+Time::Strptime= PPTX
PDF
PDF
Optimize perl5 code for perfomance freaks PDF
Technology for reduce of mistakes - うっかりをなくす技術 PDF
PDF
Why we use mruby with Perl5? PDF
PDF
PDF
PDF
PDF
PDF
Aniki - The ORM as our great brother. PDF
mysqlcasual6-next-key-lock
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
MySQLのlock
❖ record lock
❖単一のindex recordのロック
❖ e.g.) PRIMARY KEYが1のヤツ
❖ gap lock
❖ index recordの間、先頭、末尾のロック
❖ e.g. 1) PRIMARY KEYが1~3の間のロック
❖ e.g. 2) PRIMARY KEYが3以上のロック
- 15.
- 16.
勘所
❖ index recordlockである
❖ covering indexの場合などはlock範囲が異なる
❖ http://blog.kamipo.net/entry/2013/12/03/235900
❖ クエリによってロック範囲が細かく異なる
❖ MySQLの公式のドキュメントが詳しい
❖ InnoDB 内で各種 SQL ステートメントによって設定されるロック
❖ http://dev.mysql.com/doc/refman/5.1-olh/ja/innodb-locks-set.html
- 17.
- 18.
schema
mysql> CREATE TABLE`mysqlcasual` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`col1` int(11) NOT NULL,
`col2` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `idx_col1` (`col1`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
- 19.
data
mysql> SELECT *FROM mysqlcasual;
+----+------+------+
| id | col1 | col2 |
+----+------+------+
| 1 | 2 | 0 |
| 2 | 4 | 0 |
| 3 | 6 | 0 |
| 4 | 8 | 0 |
| 5 | 10 | 0 |
| 6 | 12 | 0 |
| 7 | 14 | 0 |
| 8 | 16 | 0 |
+----+------+------+
- 20.
WHERE col1 =6
+-----+------+------+
| id | col1 | col2 |
+-----+------+------+
| 1 | 2 | 0 |
| 2 | 4 | 0 |
| 3 | 6 | 0 |
| 4 | 8 | 0 |
| 5 | 10 | 0 |
| 6 | 12 | 0 |
| 7 | 14 | 0 |
| 8 | 16 | 0 |
+-----+------+------+
- 21.
WHERE col1 >6
+-----+------+------+
| id | col1 | col2 |
+-----+------+------+
| 1 | 2 | 0 |
| 2 | 4 | 0 |
| 3 | 6 | 0 |
|(gap)| (gap)| (gap)|
| 4 | 8 | 0 |
| 5 | 10 | 0 |
| 6 | 12 | 0 |
| 7 | 14 | 0 |
| 8 | 16 | 0 |
|(gap)| (gap)| (gap)|
+-----+------+------+
- 22.
WHERE col1 >=6
+-----+------+------+
| id | col1 | col2 |
+-----+------+------+
| 1 | 2 | 0 |
| 2 | 4 | 0 |
|(gap)| (gap)| (gap)|
| 3 | 6 | 0 |
| 4 | 8 | 0 |
| 5 | 10 | 0 |
| 6 | 12 | 0 |
| 7 | 14 | 0 |
| 8 | 16 | 0 |
|(gap)| (gap)| (gap)|
+-----+------+------+
- 23.
WHERE col1 <6
+-----+------+------+
| id | col1 | col2 |
+-----+------+------+
|(gap)| (gap)| (gap)|
| 1 | 2 | 0 |
| 2 | 4 | 0 |
|(gap)| (gap)| (gap)|
| 3 | 6 | 0 |
| 4 | 8 | 0 |
| 5 | 10 | 0 |
| 6 | 12 | 0 |
| 7 | 14 | 0 |
| 8 | 16 | 0 |
+-----+------+------+
- 24.
WHERE col1 <=6
+-----+------+------+
| id | col1 | col2 |
+-----+------+------+
|(gap)| (gap)| (gap)|
| 1 | 2 | 0 |
| 2 | 4 | 0 |
| 3 | 6 | 0 |
|(gap)| (gap)| (gap)|
| 4 | 8 | 0 |
| 5 | 10 | 0 |
| 6 | 12 | 0 |
| 7 | 14 | 0 |
| 8 | 16 | 0 |
+-----+------+------+
- 25.
- 26.
- 27.