mysql锁表与锁行

酉园草 2013-04-13 10:09:51
MyISAM表支持锁表,InnoDB支持锁行。关于锁表锁表,如何理解?以及在什么情况下可以用到!请明白人给详解。
...全文
163 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
申祷无 2013-04-18
  • 打赏
  • 举报
回复
任何一本数据库基础教材可能都会讲这个。锁机制主要是为了防止在并发的情况下造成数据的读取、修改或者写入错误。这个是编程中的并行有点关系,写过多线程的程序的人肯定会对那些令人头痛的并发错误印象深刻的。 某些数据一旦同时或者分时(其实大部分情况可能都是分时的)被多个用户或者程序存取的话,立刻就会与只有一个用户或者程序存储变得完全不一样。如果在重要的地方不进行锁操作的话,数据库访问的人比较少的话,可能不会出错,或者出错的概率很小,但是一旦同时访问的人变得多起来,错误几乎是不可避免的。我曾经听说过某个网站在人数少的时候没问题,一旦访问的人多了就出问题了,我感觉这个很可能和并发控制有关。 因为处理锁很复杂也很麻烦所以就出现了事务,它可以把那些令人头痛的并发处理过程隐藏起来,让数据库管理人员以一种非常简单的方式完成并发的处理。 我的理解,可能有错的地方,具体的东西还是看书吧,这个不是一句话两句话就能说清的。
ly_5211314 2013-04-17
  • 打赏
  • 举报
回复
INNODB在访问性能上不如MYISQM,但支持行锁。
linwaterbin 2013-04-14
  • 打赏
  • 举报
回复
引用 1 楼 rucypli 的回复:
myisam就放弃吧 基本上任何环境都用innodb就行
请教一下哈、那么 OLAP 环境也用 InnoDB ?
rucypli 2013-04-14
  • 打赏
  • 举报
回复
引用 3 楼 u010044579 的回复:
引用 1 楼 rucypli 的回复:myisam就放弃吧 基本上任何环境都用innodb就行 该如何理解上述话??? MyISAM增删改查效率高,InnoDB增删改查效率就低(除了支持事务操作,没有别的了吧)
你说反了吧 myisam增删改都需要锁表 所以并发行肯定受限 innodb是行锁 所以并发性要高于myisam
ACMAIN_CHM 2013-04-14
  • 打赏
  • 举报
回复
表锁,顾名思义就是当一个用户操作表时,整个表被锁信,不允许其它进程进行写操作。表中所有记录都被锁定。
酉园草 2013-04-14
  • 打赏
  • 举报
回复
引用 1 楼 rucypli 的回复:
myisam就放弃吧 基本上任何环境都用innodb就行
该如何理解上述话??? MyISAM增删改查效率高,InnoDB增删改查效率就低(除了支持事务操作,没有别的了吧)
rucypli 2013-04-13
  • 打赏
  • 举报
回复
myisam就放弃吧 基本上任何环境都用innodb就行

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧