千家信息网

关与InnoDB的知识点有哪些

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容主要讲解"关与InnoDB的知识点有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"关与InnoDB的知识点有哪些"吧!一、关于count(*)
千家信息网最后更新 2026年11月01日关与InnoDB的知识点有哪些

本篇内容主要讲解"关与InnoDB的知识点有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"关与InnoDB的知识点有哪些"吧!

一、关于count(*)

知识点:MyISAM会直接存储总行数,InnoDB则不会,需要按行扫描。

潜台词是,对于select count(*) from t; 如果数据量大,MyISAM会瞬间返回,而InnoDB则会一行行扫描。

实践:数据量大的表,InnoDB不要轻易select count(*),性能消耗极大。

常见坑:只有查询全表的总行数,MyISAM才会直接返回结果,当加了where条件后,两种存储引擎的处理方式类似。

例如:t_user(uid, uname, age, sex);

  • uid PK

  • age index

select count(*) where age<18 and sex='F';

查询未成年少女个数,两种存储引擎的处理方式类似,都需要进行索引扫描。

启示:不管哪种存储引擎,都要建立好索引。

二、关于全文索引

知识点:MyISAM支持全文索引,InnoDB5.6之前不支持全文索引。

实践:不管哪种存储引擎,在数据量大并发量大的情况下,都不应该使用数据库自带的全文索引,会导致小量请求占用大量数据库资源,而要使用《索引外置》的架构设计方法。

启示:大数据量+高并发量的业务场景,全文索引,MyISAM也不是最优之选。

三、关于事务

知识点:MyISAM不支持事务,InnoDB支持事务。

实践:事务是选择InnoDB非常诱人的原因之一,它提供了commit,rollback,崩溃修复等能力。在系统异常崩溃时,MyISAM有一定几率造成文件损坏,这是非常烦的。但是,事务也非常耗性能,会影响吞吐量,建议只对一致性要求较高的业务使用复杂事务。

画外音:Can't open file 'XXX.MYI'. 碰到过么?

小技巧:MyISAM可以通过lock table表锁,来实现类似于事务的东西,但对数据库性能影响较大,强烈不推荐使用。

四、关于外键

知识点:MyISAM不支持外键,InnoDB支持外键。

实践:不管哪种存储引擎,在数据量大并发量大的情况下,都不应该使用外键,而建议由应用程序保证完整性。

五、关于行锁与表锁

知识点:MyISAM只支持表锁,InnoDB可以支持行锁。

分析:

  • MyISAM:执行读写SQL语句时,会对表加锁,所以数据量大,并发量高时,性能会急剧下降。

  • InnoDB:细粒度行锁,在数据量大,并发量高时,性能比较优异。

实践:网上常常说,select+insert的业务用MyISAM,因为MyISAM在文件尾部顺序增加记录速度极快。楼主的建议是,绝大部分业务是混合读写,只要数据量和并发量较大,一律使用InnoDB。

常见坑:

InnoDB的行锁是实现在索引上的,而不是锁在物理行记录上。潜台词是,如果访问没有命中索引,也无法使用行锁,将要退化为表锁。

画外音:Oracle的行锁实现机制不同。

例如:

t_user(uid, uname, age, sex) innodb;
  • uid PK

  • 无其他索引

update t_user set age=10 where uid=1;

命中索引,行锁。

update t_user set age=10 where uid != 1;

未命中索引,表锁。

update t_user set age=10 where name='shenjian';

无索引,表锁。

启示:InnoDB务必建好索引,否则锁粒度较大,会影响并发。

到此,相信大家对"关与InnoDB的知识点有哪些"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

索引 数据 知识 知识点 支持 事务 存储 全文 引擎 性能 实践 业务 较大 建议 数据库 启示 影响 查询 内容 常见 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 什么是科技互联网 南京欣网互联网络科技有限公司 互联网巨头反垄断金融科技 世界互联网领先科技成果 互联网金融科技平台 新浪科技互联网 长亮科技互联网金融 亿人帮互联网科技 互联网科技宣传片 互联网科技有限公司 翻译 佩信高科技互联网 央行互联网金融科技公司 四川慕妮娅互联网科技有限公司 上海科技产业互联网平台 广州百诚互联网科技有限公司官网 宁波跨境商互联网科技有限公司 广州智享互联网科技 广州三三互联网科技有限公司 亚光科技低轨卫星互联网 杭州科技互联网公司有哪些 广州紫鲸互联网科技有限公司 云信互联网科技有限公司 科技互联网政务服务 有马互联网科技 贷财互联网科技 国外互联网科技网站 互联网科技热点资讯 互联网科技实习生岗位职责 元气玛特互联网科技公司是外包吗 山东亿川互联网科技有限责任公司
0