是什么

  1. 了解这个问题,需要先了解innobd和myisam先。这两个是数据库的实现引擎,其中innodb是比较新的,myisam是5.5之前用的,双方各自有各自的优点。详情请看

问题解答(需要对于innodb和myisam有一定的理解才看得懂)

为什么myisam查询比innodb快?
主要原因有三点:

  1. 查询的时候,由于innodb支持事务,所以会有mvvc的一个比较。这个过程会损耗性能。
  2. 查询的时候,如果走了索引,而索引又不是主键索引,此时,由于innodb是聚簇索引,会有一个回表的过程,即:先去非聚簇索引树(非主键索引树)中查询数据,找到数据对应的key之后,再通过key回表到聚簇索引树,最后找到需要的数据。而myisam是非聚集索引,而且叶子节点存储的是磁盘地址,所以,查询的时候查到的最后结果不是聚簇索引树的key,而是会直接去查询磁盘。详解
  3. 锁的一个损耗,innodb锁支持行锁,在检查锁的时候不仅检查表锁,还要看行锁。

参考

  1. innodb的优点

为什么myisam查询比innodb快?相关推荐

  1. MySQL 中 MyISAM 中的查询为什么比 InnoDB 快?

    MySQL 中 MyISAM 中的查询为什么比 InnoDB 快? 关于,这个问题,我网上看了很多答案.大多内容都雷同,但是我要强调的是,并不是说 MYISAM 一定比 InnoDB 的 select ...

  2. myisam为什么比innodb查询快_InnoDB 和 MyISAM的数据分布是什么样的?

    建表及插入数据 聚簇索引和非聚簇索引的数据分布有区别,以及对应的主键索引和二级索引的数据分布也有区别.下面我们看 InnoDB 和 MyISAM 是如何存储下面这个表: DROP TABLE IF E ...

  3. 为什么MyISAM会比Innodb的查询速度快。 btree 和 lsm(hbase) ,cola 树(tokuDB)选型和原理

    父文章 如何成为一名架构师,架构师成长之路_个人渣记录仅为自己搜索用的博客-CSDN博客_架构师成长之路 相关文章 1.8 leveldb vs rocksdb 优劣分析 对 write stalli ...

  4. MyISAM和InnoDB执行引擎的区别,为什么MyISAM查询效率高,B树和B+树的区别

    1. MyISAM和InnoDB的区别 ①MyISAM查询效率高,InnoDB查询效率低: ②MyISAM不支持事务和外键,而InnoDB支持: ③MyISAM是非聚簇索引(索引的叶子节点存储的是数据 ...

  5. 为什么MyISAM会比Innodb的查询速度快。

    为什么 MyISAM 会比Innodb的查询速度快? INNODB在做SELECT的时候,要维护的东西比MYISAM引擎多很多: 1)数据块,INNODB要缓存,MYISAM只缓存索引块,  这中间还 ...

  6. MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测)

    MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测) 一.什么是表分区 通俗地讲表分区是将一大表,根据条件分割成若干个小表.mysql5.1开始支持数据表分区了. 如:某用户表的记录超过 ...

  7. mysql 社区版 innodb_MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测)

    MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测) / --------------------         写在最前面            ------------------ ...

  8. 面试官:为啥加了索引查询会变快?

    面试官:你在工作中有遇到SQL查询比较慢的情况吗? 果子:有的.随着业务的发展,表中的数据量会越来越大,查询就会越来越慢 面试官:那你是如何优化查询慢的问题? 果子:在需要查询的列上加索引 面试官:那 ...

  9. mysql 5.6l安装教程,Mysql中MyISAM引擎和InnoDB引擎的比较

    结论 如果不清楚自己应该用什么引擎,那么请选择InnoDB,Mysql5.5+的版本默认引擎都是InnoDB,早期的Mysql版本默认的引擎是MyISAM MyISAM 和 InnoDB的适用场景 M ...

最新文章

  1. AD域与外部网站域名相同处理办法
  2. 传统公司部署OpenStack(t版)简易介绍(三)——Glance组件部署
  3. Class? getClass()
  4. Python正则表达式初识(九)
  5. 页面文字请使用css进行控制,css控制页面文字不能被选中user-select:none;
  6. C++之初始化列表的一个笔记
  7. C#路径中获取文件全路径、目录、扩展名、文件名称
  8. Proxy动态代理代码示例
  9. Android 应用程序模块: 应用, 任务, 进程, 和线程
  10. mysql的应用领域_面向应用领域的数据库新技术汇总(干货)
  11. 第十届泰迪杯数据挖掘B题电力系统负荷预测分析
  12. [计算机网络】【网络设备】网关冗余和负载平衡 (HSRP)
  13. 重构之处理IE浏览器兼容问题
  14. unity 实现物体破碎效果的一些方法 - 细雨淅淅
  15. 香港十大炒黄金交易公司排名2020版一览
  16. 第二章 Java基本语言
  17. 每一个c语言程序允许有多个函数,一个c语言程序由什么构成
  18. lua tcp socket read timed out
  19. ov5640帧率配置_坚果R2性能测试:四款热门游戏,帧率表现如何?
  20. CCRC信息安全服务资质认证涨价了?最新规定已发布,重点已经给你们划好了~

热门文章

  1. html5 红包页面,HTML5+Lottie.js+犸良制作跳动的红包
  2. 还在担心学Linux懵圈吗?掌握这份Linux思维导图,你就能成为高手
  3. app崩溃的原因 和 提前测试流程/方法 和出现崩溃后怎么定位和处理 总结(持续更新中)
  4. 模式设计(七)Adapter
  5. tp5.1 使用apidoc
  6. Latex公式编辑之下标多个字母、分数输入、公式过长的解决方法
  7. 天九共享加持指尖生活派打造快递便民服务店
  8. 基于netty 实现 ws协议的 im 组件(一)
  9. 【笔记】使用博弈论在多核处理器上调度任务以同时优化性能和能量
  10. 将atomthreads应用到stm8s207上