MySQL有三种级别的锁:

1. 页级别 BDB

2. 表级别 MyISAM

3. 行级别 InnoDB

就 总体而言MyISAM表的读和写是串行的。在一定条件下,MyISAM表也支持查询和插入操作的并发进行。

MyISAM存储引擎有一个 系统变量concurrent_insert,专门用以控制其并发插入的行为,其值分别可以为0、1或2。

当concurrent_insert设置为0时,不允许并 发插入。

当 concurrent_insert设置为1时,如果MyISAM表中没有空洞(即表的中间没有被删除的行),MyISAM允许在一个进程读表的同时,另 一个进程从表尾插入记录。这也是MySQL的默认设置。

当concurrent_insert设置为2时,无论MyISAM表中有没有空洞,都允许在表尾并发插入记 录。

InnoDB进行行级别的锁是有条件的:

在索引项上进行检索操作才行,因为InnoDB行锁的实现是在索引项上加锁实现的, 不同于Oracle的在数据块对行进行加锁。

另:LOCK TABLES时加local, 是为了使得MyISAM表并发插入时允许其他用户在表尾并发插入记录,

参考:

http://blog.chinaunix.net/u2/69385/showart_1852286.html

http://www.phpq.net/mysql/mysql-table-lock.html

mysql myasam_MySQL锁(MyISAM和InnoDB)相关推荐

  1. 【myISAM和innoDB】mySql的引擎myisam和innodb的区别/mysiam(mysql插入速度优化)

    目录 Myisam 和Innodb 特点和擅长 Myisam 和Innodb 数据存储区别 Myisam引擎(非聚集索引--叶子节点存储数据地址的指针) Innodb引擎(聚集索引---叶子节点的da ...

  2. mysql myisam 支持事务吗_第三章(附)mysql表类型MyISAM和InnoDB区别(决定了是否支持事务)...

    mysql表类型MyISAM和InnoDB区别 MyISAM:这个是默认类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问 ...

  3. Mysql存储引擎MyIsAM和InnoDB区别

    Mysql 数据库中,最常用的两种引擎是innordb 和myisam.InnoDB 是Mysql 的默认存储引擎. 两者的区别: 1.事务处理上方面 MyISAM:强调的是性能,查询的速度比Inno ...

  4. MySQL引擎之MyISAM,InnoDB,Btree与B+tree

    目录: MyISAM与InnoDB模块 Btree模块 B-tree与哈希索引的区别 一:MyISAM: 创建一个myisam存储引擎的表的时候会出现三个文件 tb_demo.frm,存储表定义: 2 ...

  5. MySQL 存储引擎(MyISAM、InnoDB、NDBCluster)

    前言 MySQL 的存储引擎可能是所有关系型数据库产品中最具有特色的了,不仅可以同时使用多种存储引擎,而且每种存储引擎和MySQL之间使用插件方式这种非常松的耦合关系. 由于各存储引擎功能特性差异较大 ...

  6. MySQL数据库之MyISAM与InnoDB的区别

    从以下几个方面: 1.存储结构  每个MyISAM在磁盘上存储成三个文件.第一个文件的名字以表的名字开始,扩展名指出文件类型.  .frm文件存储表定义.  数据文件的扩展名为.MYD (MYData ...

  7. 【MySQL面试】MyISAM和InnoDB的不同

    MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential AccessMethod:有索引的顺序访问方法)所改良.虽然性能极佳,但却有一个缺点: ...

  8. MySQL存储引擎MyISAM和InnoDB的区别

    需要完整版PDF面试文档可扫描左侧二维码拿! 你都工作3年了,怎么还不知道MyISAM和InnoDB有什么区别?一位粉丝被面试官这样一个问题.当时,这位粉丝直接回复"不知道",这位 ...

  9. MySQL - 存储引擎MyISAM和Innodb

    1. 概述 首先,我们先看一下MySQL的体系架构,对MySQL整个架构有一个直观的感受: MySQL Server架构自顶向下大致可以分网络连接层.服务层.存储引擎层和系统文件层. 存储引擎在MyS ...

  10. MySQL高级 - 锁 - MyISAM表锁 - 读锁

    如何加表锁 MyISAM 在执行查询语句(SELECT)前,会自动给涉及的所有表加读锁,在执行更新操作(UPDATE.DELETE.INSERT 等)前,会自动给涉及的表加写锁,这个过程并不需要用户干 ...

最新文章

  1. java微信群自动回复_微信自动回复机器人选哪个好?参考这四点
  2. 2013年全球最佳工作
  3. Elasticsearch如何做到数十亿数据查询毫秒级响应?
  4. 【Linux】Linux测试磁盘 IO 性能
  5. 正确地利用Netty建立连接池
  6. 【个人】微信小程序初体验
  7. vcpkg 简明教程
  8. 友华光猫超级密码获取——PT622PT632
  9. python如何画三角形的外接圆_用python画三角形外接圆和内切圆
  10. 一线技术人应该关注的四种思维能力
  11. python制作网页样式与布局_清华大学出版社-图书详情-《CSS3+DIV网页样式与布局案例课堂(第2版)》...
  12. CTF---Web入门第七题 猫抓老鼠
  13. 魅族Android10内测招募答案,魅族flyme9内测招募答案
  14. 数据分析-numpy-pandas-matplotlib
  15. duck typing java_進一步思考Duck typing
  16. 算法中的最优化方法总结(中国科学院大学)
  17. Codeforces Round #835 (Div. 4) B. Lost Permutation
  18. woo 语言最简单的生成验证码方式,是个人都能看懂,反正比py简单多了
  19. C语言中,声明和定义的区别
  20. gyp: No Xcode or CLT version detected 报错

热门文章

  1. PC厂商如何演化移动互联网市场格局?
  2. Swift 5.0 值得关注的特性:增加 ResultT, E: Error 枚举类型
  3. UGUI世界转屏幕坐标
  4. Exchange20132016删除默认邮箱数据库及移动数据库路径
  5. 初探Vue之环境搭建
  6. 如何计算ModBus超时时间?
  7. javascript中new Date浏览器兼容性处理
  8. AtCoder Beginner Contest 022 A.Best Body 水题
  9. VS2008中的“解决方案配置”和“解决方案平台”不见了(Release和Debug)的解决方法...
  10. 适合平面设计的linux版本,Qogir - 色彩鲜艳的Linux平面设计图标主题