后缀为:  .MYD  是MyISAM存储引擎的存储的数据文件

后缀为:  .MYI    是MyISAM存储引擎的存储的索引文件


注:现在都很少使用MyISAM作为存储引擎了。现在大多采用InnoDB作为存储引擎



聚集索引(聚簇索引):索引和数据要全部放在一起。(叶子节点包含了完整的数据记录)

MyISAM就没有聚集索引。索引和数据是分开的,通过物理地址作为中间人,进行两者的联系



1.为什么InnoDB表主键要使用整型呢?

因为在进行查找某个元素的时候,需要对其索引进行比大小,而整型的索引比大小是最好的,效率很高。

字符串的索引比大小,是把字符串的每个字符逐个转化成整型进行逐个比大小,会进行很多次比较,效率较低。

2.为什么InnoDB表要使用自增的主键呢?

注:为什么大多数的时候都是采用B+树作为索引方法,而不采用hash作为索引方法呢?

hash查找定位很快,效率很高。但是如下图:

使用hash作为索引方法,不能进行范围查找

而b+树的存储结构是如下图的:

如果要查找索引>20的元素,先定位到索引20的元素位置,再通过指针,顺藤摸瓜,把后面的元素全部获取出来。

如果要查找索引<20的元素,先定位到索引20的元素位置,再通过指针,顺藤摸瓜,把前面的元素全部获取出来。

因为b+树在叶子节点那里,是一个双向链表的结构。(双向链表的具体用法:范围查找)

注:b+树比起b树来说的,进行了叶子节点处,采用双向链表的结构,同时非叶子节点没有数据,减少了冗余。

所以:不建议使用UUID(字符串)。UUID既不自增也不是整型。 但是做数据表的迁移,用UUID会更好一点。

mysql的优化——索引介绍相关推荐

  1. mysql之优化-索引

    一.优化思路 a.表的设计合理化(符合3NF) b.添加适当索引(index[4种:普通索引 主键索引 唯一索引unique 全文索引]) c.分表技术(水平分割,垂直分割) d.读写[写:updat ...

  2. mysql 性能优化索引、缓存、分表、分布式实现方式。

    系统针对5000台终端测试结果 索引 目标:优化查询速度3秒以内 需要优化.尽量避免使用select * 来查询对象.使用到哪些属性值就查询出哪些使用即可 首页页面: 设备-组织查询 优化 避免使用s ...

  3. mysql count 优化索引_如何通过使用索引在InnoDB上优化COUNT(*)性能

    我有一个小而狭窄的InnoDB表,大约有900万条记录.在桌子上count(*)或count(id)桌子上做的速度非常慢(超过6秒): DROP TABLE IF EXISTS `perf2`; CR ...

  4. mysql 优化方法_Mysql的优化方法介绍

    本篇文章给大家带来的内容是关于Mysql的优化方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.应用访问优化1).减少数据访问(Nosql作用) 2).返回更少数据 3). ...

  5. mysql如何建立索引workbench_如何对MySQL索引进行优化分析

    为什么你写的sql查询慢?为什么你建的索引常失效?通过本章内容,你将学会MySQL性能下降的原因,索引的简介,索引创建的原则,explain命令的使用,以及explain输出字段的意义.助你了解索引, ...

  6. mysql的索引介绍_2

    什么样的字段不适合创建索引呢?同样,对于有些列不应该创建索引1. 对于那些查询中很少使用或者参考的列不应该创建索引,就是我查的过程当中,where语句当中没有,这样的东西你不建他,建了反而不是什么好事 ...

  7. MySQL limit 优化,百万至千万级快速分页:复合索引

    2019独角兽企业重金招聘Python工程师标准>>> MySQL 性能到底能有多高?用了php半年多,真正如此深入的去思考这个问题还是从前天开始.有过痛苦有过绝望,到现在充满信心! ...

  8. 超详细图解!【MySQL进阶篇】SQL优化-索引-存储引擎

    1. Mysql的体系结构概览 整个MySQL Server由以下组成 Connection Pool : 连接池组件 Management Services & Utilities : 管理 ...

  9. 阿里P8架构师谈:MySQL数据库的索引原理、与慢SQL优化的5大原则

    MySQL凭借着出色的性能.低廉的成本.丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库.虽然性能出色,但所谓"好马配好鞍",如何能够更好的使用它,已经成为开发工程师的必修 ...

最新文章

  1. vim下自动排版命令
  2. [原创]java WEB学习笔记86:Hibernate学习之路-- -映射 n-n 关系,单向n-n,双向n-n
  3. Python高级语法-详解set机制
  4. python找出矩阵中的马鞍点_矩阵的马鞍点
  5. wps数据匹配怎么做_【VK技术分享】数据安全怎么做—静态数据的识别和治理
  6. WTM系列视频教程:WebApi
  7. 计算机绘画作品 星空,关于近期绘画作品《星空系列》的自述:
  8. DAG最长路问题 hdu-1224
  9. 金笛JDMail邮件服务器帮你应付电子邮件归档危机
  10. EasyCVR通过Ehome协议接入部分设备显示离线排查报告
  11. 有趣--等额本息还款
  12. java不支持bks,java不支持bks
  13. linux iptables mac,mac下的iptables---pfctl
  14. 单反镜头上的参数具体意义
  15. 让HR主动邀请你面试的简历,该如何写?
  16. win10专业版切换语言失败
  17. mac xquartz+iterm2
  18. 视频号云逛万达,商圈数字化丙晟打了个新样板
  19. fopen()函数详解
  20. dna分子结构具有抽象_新技术活动,抽象是具有远见的

热门文章

  1. PolyBase 指南
  2. 通过poi操作ppt中的图片
  3. 使用HTML+CSS实现鼠标划过的二级菜单栏
  4. 操作系统性能监控-磁盘IO
  5. asp.net 页面全生命周期
  6. (android)system ui 内存优化
  7. WINCE基于MC8630的3G模块的控制和加载
  8. jdbc mysql 自动重连_JDBC实现Mysql自动重连机制的方法详解
  9. SFB 项目经验-30-SFB与SFB联盟-IM-正常-状态-不正常
  10. Django运维后台的搭建之一:使用model建立数据信息