首先你要知道;

无论是Myisam和Innodb引擎,如果在建表的时候没有显示的定义一行主键列的话,他内部都会自动创建一个隐藏的主键索引;

主键索引以外的索引假设称为次索引;首先Myisam和Innodb两个都是默认采用的btree索引,可以脑补一颗二叉树;

myisam引擎的数据在物理磁盘上是按照顺序存储的,而innodb引擎的表数据是随机分布的;

myisam的主键索引的叶子节点只存放数据在物理磁盘上的指针,其他次索引也是一样的;

innodb的主键索引的叶子节点下面直接存放数据,其他次索引的叶子节点指向主键id;

由此可以挖掘出一个问题,就是如果Innodb有大数据列,比如 varchar(300),这种比较多的话,那么排序的时候用主键id排序会比较慢,因为

id主键下面放着所有数据列,而Myisam就不需要扫描数据列,要解决这个问题的话可以再建一个和主键id一起的联合索引;

索引覆盖与回行:

如果要查找的数据恰好是索引列,那么就不用在去物理磁盘上去找数据了,就是不用回行,称为索引覆盖;

最新文章

  1. 简单C#、asp.net mvc验证码的实现
  2. webservice wsdl接口配置与调用
  3. 【leetcode】Kth Largest Element in an Array (middle)☆
  4. 【2016-10-11】Linux系统常用的关机或重启命令shutdown、reboot、halt、poweroff、init 0及init 6的联系与区别
  5. Ajax 核心函数
  6. Human Gene Functions
  7. 一个关于echo的小知识点
  8. js简单模仿队列
  9. 重拾C,一天一点点_2
  10. JSTL 入门
  11. libevent带负载均衡的多线程使用示例
  12. ssh, maven and eclipse 那些破事
  13. linux_常用压缩,解压缩命令
  14. JS中undefined与null的有趣 关系
  15. Unity 学习Json篇
  16. ASP.NET没有魔法——ASP.NET MVC 与数据库大集合
  17. (三)ajax请求不同源之jsonp跨域
  18. SQL JOIN 中 on 与 where 的区别
  19. cpu资源长期使用率过高导致系统内核锁问题
  20. android最最基础简单的保存xml代码

热门文章

  1. ASP.NET Core MVC – Tag Helpers 介绍
  2. PHP基础介绍
  3. PHP创建socket服务
  4. Long类型参数传到前端精度丢失的解决方案
  5. Objective-C Programming The Big Nerd Ranch Guide 笔记 19-37
  6. 算法相关——Java排序算法之插入排序(四)
  7. WPF效果(GIS三维篇)
  8. 如何在同一台电脑上启动多个Tomcat服务器
  9. linux shell中单引号、双引号、反引号、反斜杠的区别
  10. P2P平台介绍