根据类型分为
普通索引
2种类型,hash 和b-tree   
最常用    hash是按一对一索引的.速度 最快但不支持范围 比如where name = 'dd' 最快.但是使用 date >3 and date <5 则失效

唯一索引
同上 2种类型   使用mysql约束不能有重复值  

主键(唯一的一种)   
是唯一索引的一种. 每个表必须有一个主键索引

全文索引
对like '%搜索%' 有很好的效果.但也是鸡肋.建议使用专业的全文检索引擎

空间索引 
仅支持myisam表. 有4种方式 分别 是GEOMETRY、POINT、LINESTRING、POLYGO
innodb从5.7开始也支持空间索引.但只有两种. 团队说后期还会有更多的支持.
不常用对吧?下面是说明

空间索引是指依据空间对象的位置和形状或空间对象之间的某种空间关系按一定的顺序排列的一种数据结构[1]  ,其中包含空间对象的概要信息,如对象的标识、外接矩形及指向空间对象实体的指针。
空间数据查询即空间索引,是对存储在介质上的数据位置信息的描述,是用来提高系统对数据获取的效率[1]  ,也称为空间访问方法(Spatial Access Method SAM)。是指依据空间对象的位置和形状或空间对象之间的某种空间关系按一[1]  定的顺序排列的一种数据结构其中包含空[1]  间对象的概要信息如对象的标识外接矩形及指向空间对象实体的指针。
作为一种辅助性的空间数据结构空间索引介于空间操作算法和空间对象之间它通过筛选作用[1]  大量与特定空间操作无关的空间对象被排除从而提高空间操作的速度和效率

再不理解看一下图吧  

根据场景分为
单一(单列)索引 
比如 where username = 'abc'; 只对username建索引
联合(复合)索引
比如 where username = 'abc' and password = 'abc' 这时最好建 一个  username和password的符合索引

注意索引名称需要遵循企业的命名规范. 常见的规范是  idx_table_column1_column2   table是表名  column是字段名

短索引----如果要索引姓名,那么索引三个字就可以了

最新文章

  1. 【NodeJs环境下bower】如何更改bower_components文件夹的位置
  2. 关于Oracle中查询的数字值的显示格式需要保留小数点后两位(或者三位,及其他位数)
  3. 搭建一个Flv视频播放服务器
  4. centos6.3编译安装Apache2.4.3+PHP5.4.8+Mysql5.5.8
  5. Mysql中IFNULL与IN操作
  6. Windows下关于Composer使用时出现的问题及解决办法
  7. ZOJ 3817 Chinese Knot
  8. (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)
  9. DB2数据库实例创建与删除 学习笔记
  10. C#操作WORD换行
  11. Spring对远程服务的支持
  12. resteasy上传文件写法
  13. java常用框架
  14. PHP 框架实现原理
  15. javaScript系列 [01]-javaScript函数基础
  16. web worker 简介
  17. Minimum Domino Rotations For Equal Row LT1007
  18. go 通过http发送图片file内容
  19. L1-059 敲笨钟 (20 分)
  20. 编译x11版本qt

热门文章

  1. Windows7 64位环境下Python-igraph环境配置
  2. 读书笔记-你不知道的JS中-promise(3)
  3. Strange fuction
  4. 2.安装Nginx
  5. 搭建本地Tomcat
  6. 关于隐藏元素高度的问题 css visibility:hidden 与 display:none的区别
  7. 转:ef获取某个表中的部分字段值
  8. Nginx实现负载均衡&amp;Nginx缓存功能
  9. ldap数据库--ODSEE--复制协议
  10. Ubuntu系统下静态DNS配置详解