前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >技术日志挑战——第14天:0806

技术日志挑战——第14天:0806

原创
作者头像
Arya
发布2024-08-06 22:00:15
830
发布2024-08-06 22:00:15

技术总结:

今天是周二,带老婆去了趟单位,中午一起吃了饭,美滋滋。

明天老婆就要去培训了,自由了,嘿嘿嘿。

今天我发现我项目里的代码有点问题,似乎我的轨迹设计部分有问题,今天又重新生成了一下,发现问题少了很多,看来是我的轨迹设计有点问题。

今天把问题梳理了一下,明天应该能解决这个问题,把后置的部分搞定。

学习笔记:


1.MyISAM 只有表级锁,而InnoDB 支持行级锁和表级锁,默认为行级锁;

2.MyISAM 不提供事务支持。而InnoDB提供事务支持;

3.MyISAM不支持外键,而InnoDB支持;

4.MyISAM不支持聚集索引,InnoDB支持聚集索引;

5MyISAM不支持MVCC,InnoDB支持。应对高并发事务,MVCC比单纯的加锁更高效;

特性

InnoDB

MyISAM

事务安全

支持

存储限制

64TB

空间使用

内存使用

插入数据的速度

对外键的支持

支持

1.是否支持行级锁

MyISAM 只有表级锁,而InnoDB 支持行级锁和表级锁,默认为行级锁。

(1)MySQL大致可以归纳为以下3种锁

  • 表级锁:开销小,加锁快;不会出现死锁;锁的粒度大,发生锁冲突的概率最高,并发度最低。
  • 行级锁:开销大,加锁慢;会出现死锁;锁的粒度小,发生锁冲突的概率最低,并发度最高。
  • 页面锁:开销 和加锁时间界于表锁和行锁之间;会出现死锁,锁定的粒度界于表锁和行锁之间,并发一般。

(2)表锁

MyISAM会在执行select语句前,会自动给涉及的表加读锁,在执行增删改操作前会自动给涉及的表加写锁。

  • MySQL的表锁有两种模式:
    • 表共享读锁
    • 表独占写锁
  • 读锁会阻塞写,写锁会阻塞读和写。
    • 对MyISAM表的读操作,不会阻塞其它进程对同一表的读请求,但会阻塞对同一表的写请求。只有当读锁释放后,才会执行其它线程的写操作。
    • 对MyISAM表的写操作,会阻塞其它进程对同一表的读和写操作,只有当写锁释放后,才会执行其它进程的读写操作。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 技术总结:
  • 学习笔记:
  • 1.是否支持行级锁
    • (1)MySQL大致可以归纳为以下3种锁
      • (2)表锁
      相关产品与服务
      云数据库 MySQL
      腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档