专栏首页测试开发架构之路理解存储引擎MyISAM与InnoDB

理解存储引擎MyISAM与InnoDB

1、MyISAM:默认表类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法。不是事务安全的,而且不支持外键,如果执行大量的select,insert   MyISAM比较适合

2、InnoDB:支持事务安全的引擎,支持外键、行锁、事务是他的最大特点。如果有大量的update和insert,建议使用InnoDB,特别是针对多个并发和QPS较高的情况

事务的ACID属性:atomicity,consistent,isolation,durable。

关于死锁:

什么是死锁?当两个事务都需要获得对方持有的排他锁才能完成事务,这样就导致了循环锁等待,也就是常见的死锁类型。

解决死锁的方法:

1、  数据库参数

2、  应用中尽量约定程序读取表的顺序一样

3、  应用中处理一个表时,尽量对处理的顺序排序

4、  调整事务隔离级别(避免两个事务同时操作一行不存在的数据,容易发生死锁)

3、关于count()函数

myisam保存有表的总行数,如果select count(*) from table;会直接取出出该值

innodb没有保存表的总行数,如果使用select count(*) from table;就会遍历整个表,消耗相当大,但是在加了wehre       条件后,myisam和innodb处理的方式都一样。

1、可以用 show create table tablename 命令看表的引擎类型。

3、可以执行以下命令来切换非事务表到事务(数据不会丢失),innodb表比myisam表更安全:alter table tablename type=innodb;
  或者使用 alter table tablename engine = innodb;

下面先让我们回答一些问题:   

◆你的数据库有外键吗?   

◆你需要事务支持吗?   

◆你需要全文索引吗?   

◆你经常使用什么样的查询模式?   

◆你的数据有多大?   

参考:

https://www.cnblogs.com/y-rong/p/8110596.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 总结了一些指针易出错的常见问题(一)

      简介:计算机是如何从内存单元中存取数据的呢?从程序设计的角度看,有两种办法:一是通过变量名;二是通过地址。程序中声明的变量是要占据一定的内存空间的,例如,C...

    互联网金融打杂
  • Spring Boot项目简单上手+swagger配置+项目发布

    互联网金融打杂
  • 数据库系统关系模型概念

    关系模型简述 关系模型就是处理TABLE,它由三部分组成:  描述DB各种数据的基本结构形式(Table/Relation)  描述Table与Table之...

    互联网金融打杂
  • 【整理】待毕业.Net码农就业求职储备

    声明:本文题目来源于互联网,仅供即将从学校毕业的.Net码农(当然,我本人也是菜逼一个)学习之用。当然,学习了这些题目不一定会拿到offer,但是针对就业求职做...

    Edison Zhou
  • 位运算之异或(XOR)

    一个二进制数减1, 相当于把这个数的从最右侧的1开始flio翻转

    CoffeeLand
  • 分布式事务实现原理【BAT 面试题宝库附详尽答案解析】

    事务是数据库从一个稳定状态变迁到另一个稳定状态的保证,具备 ACID 这 4 个特性:

    一个会写诗的程序员
  • 洛谷P4174 [NOI2006]最大获利

    题目描述 新的技术正冲击着手机通讯市场,对于各大运营商来说,这既是机遇,更是挑战。THU 集团旗下的 CS&T 通讯公司在新一代通讯技术血战的前夜,需要做太多的...

    attack
  • Java - 游戏内存外挂

    什么是游戏外挂? 试想场景,在玩游戏时,没有得到良好的游戏体验,加之玩游戏的这位又是偏激之人,此时心生愤怒,但通过自己的游戏技术,又无法得到发泄。所以很无奈,只...

    Melody132
  • ​深入了解分布式事务组件 Seata (一)

    分布式事务的问题,在微服务架构中一直是难题。单体应用实现本地事务即可,到了分布式环境,情况就变得复杂。一个请求可能涉及多个服务,上下游存在依赖关系,其中的一环失...

    aoho求索
  • Go之array、slice、map

    院长技术

扫码关注云+社区

领取腾讯云代金券