Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 9d8f001

Browse files
mysql锁机制
1 parent 69216bd commit 9d8f001

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

‎My ISAM表锁/共享读锁‎

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
******************************************
2+
锁是计算机协调多个进程或线程并发访问某一资源的机制。
3+
在数据库中,数据也是一种供许多用户共享的资源。
4+
如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。
5+
从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。
6+
MySQL锁概述
7+
MySQL锁概述
8+
相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。
9+
比如,MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking);BDB存储引擎采用的是页面锁(page-level locking),
10+
但也支持表级锁;InnoDB存储引擎既支持行级锁(row-level locking),也支持表级锁,但默认情况下是采用行级锁。
11+
MySQL这3种锁的特性可大致归纳如下。
12+
开销、加锁速度、死锁、粒度、并发性能
13+
表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。
14+
行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。
15+
页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。
16+
仅从锁的角度来说:表级锁更适合于以查询为主,只有少量按索引条件更新数据的应用,如Web应用;
17+
而行级锁则更适合于有大量按索引条件并发更新少量不同数据,同时又有并发查询的应用,如一些在线事务处理(OLTP)系统。
18+
从上述特点可见,很难笼统地说哪种锁更好,只能就具体应用的特点来说哪种锁更合适!
19+

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /