zoukankan      html  css  js  c++  java
  • mysql 索引类型

    根据类型分为
    普通索引
    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是字段名

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

  • 相关阅读:
    IE浏览器cookie存放在本地什么目录
    C# clickonce 部署自定义文件
    [C#.Net]C#连接Oracle数据库的方法
    Eclipse 插件一览
    登录名 '***' 拥有一个或多个数据库。在删除该登录名之前,请更改相应数据库的所有者。 (Microsoft SQL Server,错误: 15174)
    SqlServer_表结构查询_查询当前用户所有表名
    sqlserver怎么删除有外键关联的数据?
    springboot logback控制台中文输出乱码
    控制台运行JAVA的jar文件时乱码 / Gradle编译设置编码格式
    Python 算法之一
  • 原文地址:https://www.cnblogs.com/ghjbk/p/6707455.html
Copyright © 2011-2022 走看看