Mysql 索引

1. 索引的概念

  索引是创建在表上的,对数据库表中的一列或多列的值进行排序的一种结构。

  索引有2种存储类型:B型树索引 和 哈希索引。InnoDB和MyISAM存储引擎支持B型树索引,MEMORY存储引擎支持哈希索引。

  优点:提高检索数据的速度。对于有依赖关系的子表和父表之间的联合,可提高查询速度;使用分组和排序子句进行数据查询,可显著节省查询时间。

  缺点:创建和维护需要耗费时间,耗费的时间随着数据量的增加而增加;索引需要占用物理空间;增加、修改和删除索引时,需要动态的维护索引,会造成数据维护速度降低。

2.索引的分类

  1)普通索引:

    不加任何限制条件的索引。

  2)唯一性索引:

    UNIQUE参数设置唯一性索引。

  3)全文索引:

    使用FULLTEXT参数设置为全文索引。(全文索引只能创建在CHAR、VARCHAR或TEXT类型字段上)

  4)单列索引:

    为表的单个字段创建索引。

  5)多列索引:

    为表的多个字段创建一个索引。

  6)空间索引:

    使用SPATIAL参数设置。

3. 索引的设计原则

  1)选择唯一性索引;

  2)为经常需要排序、分组和联合操作的字段建立索引;

  3)为常作为查询条件的字段建立索引;

  4)限制索引的数目;

  5)尽量使用数据量少的索引;

  6)尽量使用前缀索引;

  7)删除不再使用或很少使用的索引。

4. 创建索引

  1)创建表的时候创建索引

CREATE  TABLE  表名 ( 属性名   数据类型   约束条件,属性名   数据类型   约束条件,...UNIQUE | FULLTEXT | SPATIAL    INDEX | KEY别名  ( 属性名1 (长度)   ASC | DESC));

    INDEX和KEY表示指定字段为索引,两者作用相同选其一即可。

    ASC/DESC表示升序排列和降序排列。

  2)为已经存在的表创建索引

CREATE   UNIQUE | FULLTEXT | SPATIAL   INDEX   索引名ON   表名   ( 属性名 (长度)   ASC | DESC );

  3)用ALTER TABLE语句创建索引

ALTER  TABLE   表名   ADD   UNIQUE | FULLTEXT | SPATIAL   INDEX          索引名   ( 属性名 (长度)   ASC | DESC );

5. 删除索引

DROP  INDEX   索引名   ON   表名;

转载于:https://www.cnblogs.com/jx-yangbo/p/6391623.html

Mysql基础知识:索引相关推荐

  1. mongo 唯一约束索引_Java:MySQL 基础知识+索引相关

    阅读本文前,请您先点击上面的蓝色字体,再点击"关注",这样您就可以继续免费收到最新文章了.每天都有分享.完全是免费订阅,请放心关注.注:本文转载自网络,不代表本平台立场,仅供读者参 ...

  2. Mysql基础知识—索引

    公司最近开始尝试进行改革,如何活跃团队气氛.开发就给我们说了一些算是科普类的数据库知识,下面参杂自己的理解,方便自己后续翻看. 1.什么是索引 索引在MySQL中也叫做"键",是存 ...

  3. MySQL工作中的实际用_总结工作中经常用到的mysql基础知识

    总结工作中经常用到的mysql基础知识 发布时间:2020-06-08 11:27:30 来源:51CTO 阅读:217 作者:三月 本文主要给大家介绍工作中经常用到的mysql基础知识,文章内容都是 ...

  4. MySQL基础知识-MySQL概述安装,单表增删改查,函数,约束,多表查询,事物

    MySQL基础知识-MySQL概述安装,单表增删改查,函数,约束,多表查询,事物 前言 1.MySQL概述 1.1数据库相关概念 1.2MySQL数据库 1.2.1版本 1.2.2下载 1.2.3安装 ...

  5. 快速学习mysql_快速学习MySQL基础知识

    这篇文章主要梳理了 SQL 的基础用法,会涉及到以下方面内容: SQL大小写的规范 数据库的类型以及适用场景 SELECT 的执行过程 WHERE 使用规范 MySQL 中常见函数 子查询分类 如何选 ...

  6. MySql基础知识【一】

    Mysql基础知识 1. MySql是什么 2. 数据库设计的三大范式 2.1. 第一范式 2.2. 第二范式 2.3. 第三范式 3. Binlog的三种模式 3.1 Statement模式(默认) ...

  7. 2.MySQL 基础知识

    文章目录 MySQL 基础知识 知识点一 : MySQL命令行常用命令 知识点二 : 持久化 相关概念 知识点三 : 数据库 相关概念 知识点四 : DB 和 DBMS 关系图示 知识点五 : MyS ...

  8. mysql+连接每一行数据_MySQL_深入mysql基础知识的详解,1.每个客户端连接都会从服务 - phpStudy...

    深入mysql基础知识的详解 1.每个客户端连接都会从服务器进程中分到一个属于它的线程.而该连接的相应查询都都会通过该线程处理. 2.服务器会缓存线程.因此并不会为每个新连接创建或者销毁线程. 3.当 ...

  9. mysql基础知识(二)

    这一篇是第二部分,要查看第一部分,请查看这个链接 mysql基础知识(一) DQL语言 1.1简单的单表查询 查询表的通用格式:select [distinct] [*] [列名1,列名] from ...

  10. mysql基础知识(一)

    mysql是主流的关系型数据库管理系统(RDBMS---relation database management system),操作是需要用SQL(Structured Query Language ...

最新文章

  1. 初级JavaScript程序员的绝佳进阶书
  2. 学习opencv 英文版_电子课本:苏教牛津译林 | 高中英语模块2,赶紧收藏学习吧...
  3. 鸿蒙系统适配机型_华为鸿蒙 OS 适配机型曝光,除了 Mate 40 还有这几款!
  4. docker从仓库找镜像
  5. Java StringBuffer insert(int offset,String s)方法,带示例
  6. 【转载】分层开发思想与小笼包
  7. 第一次大作业总结——四则运算程序
  8. Haproxy均衡负载部署和配置文件详解
  9. vue是否可以做行车轨迹_特斯拉-概念自行车,是否可以走进大众生活
  10. 要如何给PDF解密?这几个操作简单的方法可以试试
  11. 建筑识图与构造【2】
  12. 如何用计算机制作海报,稿定设计如何制作海报 一键生成海报的方法
  13. 联想笔记本桌面计算机不见了,联想电脑任务栏不见了怎么还原
  14. jwt的token自动续约_关于JWT Token 自动续期的解决方案
  15. CANoe 入门 Step by step系列(二)CAPL编程
  16. Python中文社区征稿,最高1000元/篇!
  17. ENVI系列--遥感影像UTM投影计算公式
  18. python 日志输出为json格式文件_Py修行路 python基础 (二十一)logging日志模块 json序列化 正则表达式(re)...
  19. 神经网络neural network
  20. 你必须掌握的,快速幂算法

热门文章

  1. php 腾讯企业邮箱接口,帮助中心 腾讯企业邮箱OpenApi协议
  2. linux查询所有目录的txt文件,Linux 在指定目录下的所有文件中查找text文本的方法...
  3. java 内部类 线程_java多线程基本概述(十四)——Thread内部类的几种写法
  4. 模糊控制作业c语言,单片机 模糊控制 算法 c语言
  5. php盒子模型,CSS盒子模型介绍
  6. boost 递归锁_c++/boost互斥量与锁
  7. bootstrap 栅栏剧中_Bootstrap 栅栏布局中 col-xs-*、col-sm-*、col-md-*、col-lg-* 区别及使用方法...
  8. win10安装jboss7_win7系统上jboss6 设置https访问
  9. python使用shell环境变量_linux中添加环境变量(python为例)
  10. java类描述_java笔记2:Java语言中的类和对象的描述