【数据库】索引

索引

简介

索引在MySQL中也叫做'键 key',
存处引擎用于快速找到记录的一种数据结构
索引对于良好的性能非常关键,
尤其是当表中的数据越来越多,索引对于性能的影响愈发重要
索引优化应该是对查询性能优化的最有效手段了,
索引能够轻易将查询性能提高好几个数量级
索引相当于新华字典音序表
如果要查某个汉字,不使用音序表,则需要从几百页中的数据中去找找个汉字
简单理解就是,索引就像一本书的目录,让你很快能够查询到你想要的数据

分类

  • 普通索引
  • 唯一索引
  • 全文索引
  • 单列索引
  • 多列索引
  • 空间索引

那么,现在本人来介绍下“索引”的使用语法

使用语法:

1. 创建索引:

使用 index 或者 key 关键字

方式1:创建表时 创建索引:

语法

create table 表名(
    字段名1 数据类型1 [约束],
    字段名2 数据类型2 [约束],
    [unique|fulltext|spatial] index|key
    [索引名](字段名[(长度)] [ASC|DESC])   -- 注意中括号里面的是可选项
);

本人现在对创建索引做一点说明:

说明
目前MySQL数据库默认使用的是 InnoDB引擎
InnoDB引擎 不支持FULLTEXT类型的索引

那么,现在本人来展示下创建索引的语句:

-- 创建多列索引
create table test2(
    tid int,
    tname varchar(32),
    tlog varchar(100),
    index my_Index (tname,tlog)  -- 给 tname 和 tlog 两个列都建立索引
 );
-- 创建唯一索引
create table test(
        tid int,
        tname varchar(32),
        unique index(tname)  -- 创建唯一索引,这列的值不能重复
    );

方式2:创建表后 给表增加索引:

语法

create [unique|fulltext|spatial] index 索引名 on 表名 (字段名[(长度)] [ASC|DESC]);

那么,现在本人来展示下创建索引的语句:

-- 创建普通索引例子
create index myIndex on student (sname);

-- 创建全文索引例子
    create unique index myIndex on student (sname);
    
-- 创建多列索引例子
    create index myIndex on student (sname,slog);

方式3:创建表后,修改表的语句:

语法:

alter table 表名 add [unique|fulltext|spatial] index 索引名 on 表名 (字段名[(长度)] [ASC|DESC]);

例子:

-- 创建普通索引的例子
    alter table student add index MyIndex(sname);
-- 创建唯一索引的例子
    alter table student add unique index MyIndex(sname);
-- 创建多列索引
    alter table student add index MyIndex(sname,slog);

2. 删除索引:

语法

drop index 索引名 on 表名;

3. 查看索引:

语法

show create table 表名\G;

那么,在最后,本人再来说明一点:
说明

在建表的时候,如果有主键
这个主键,就带有所有主键索引


那么,本篇博文的知识点在这里就讲解完毕了。
(请观看本人博文 —— 《数据库 —— 专栏总集篇》)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 索引的基本原理,以及数据是如何被访问的 (一)SQLS如何访问没有建立索引的数据表 Heap译成汉语叫做“堆”,其...
    安易学车阅读 8,790评论 0 8
  • MySql数据库索引原理 写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑...
    琴匣自鸣阅读 5,635评论 0 2
  • 数据库索引是一个初级程序员容易忽视的东西,因为绝大多数时候我们都是使用简单的默认索引,也就是主键索引,但面对现在硬...
    onlyHalfSoul阅读 4,472评论 0 2
  • 今天我学习苏霍姆林斯基给教师的建议第91条我怎样领导教师集体的创造性劳动。我想从教师应该是教育家的方面讲一讲,说一...
    垦利刘晓路阅读 5,433评论 0 0
  • 我们今天来聊一聊钱,时间和注意力,这三者的关系,大家且听听这句话,凡是能用钱买的,其实都是便宜的,这句话的肯定会被...
    听雨廖哥阅读 3,244评论 0 0