SQL索引的创建与删除

索引作为SQL优化查询的一种方法,它可以很好的帮助我们加快数据的查询速度,那为什么我们不去正确的使用它呢?

一、什么是索引?

索引是一种特殊的查询表,数据库搜索引擎可以使用它加速数据检索。它们也组织数据库存储数据的方式

索引就好像我们书中的目录,是这一本书的综合,告诉你在书的什么地方能够找到一个特定的向,一看目录就可以看到你要找的东西在哪一页,不用从书的起始页开始,缩减了你的查询时间。

目的:加快对表中记录的查找或排序

二、什么时候使用索引?

对于一些我们经常需要搜索的列上,可以使用索引,加快搜索速度

在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度

对于那些在查询中很少使用或者参考的列不应该创建索引

对于那些只有很少数据值的列也不应该增加索引

三、优缺点

优点:1.能够加快表与表之间的连接速度,这对于提高数据的参考完整性方面具有重要作用

           2.能提高数据的搜索及检索速度,符合数据库建立的初衷,例,SELECT查询和WHERE子句

           3.在信息检索过程中,若使用分组及排序子句进行时,通过建立索引能有效的减少检索过程中所需的分组及排序时间,                    提高检索效率

缺点:1.减慢数据的输入速度,例,UPDATE语句和INSERT语句

           2.在数据库建立过程中,需花费较多的时间去建立并维护索引,特别是随着数据总量的增加,所花费的时间将不断递增

           3.在数据库中创建的索引需要占用一定的物理存储空间

MyTable
IdNameDateOfBirthAdress
3索菲亚1997-09-01USA
1贝拉1999-08-07CN
2爱德华1998-04-20CN
4雅各布1998-11-28FA

四、创建索引

创建索引需要使用CREATE INDEX语句,它允许用户命名索引、指定表和需要索引的单个列或多个列、指定索引是按照升序还是降序排列。基本格式如下:

1、单列索引:

CREATE INDEX <index_name>
ON <table_name> (<column_names>)

2、多列索引:当用户经常搜索多列时

CREATE INDEX <index_name>
ON <table_name> (<column_name1,column_name2>)

执行下面语句,向MyTable表中添加一个名为member_name_index的索引,索引了Id列和Name列:

CREATE INDEX member_name_index
ON MyTable (Id, Name);

执行下面语句查询:

SELECT Id, Name
FROM MyTable;

默认升序排列

3、唯一索引(先根据姓名按照降序排序结果,然后根据出生日期排序)

CREATE UNIQUE INDEX member_name_indx
ON MyTable (Name DESC, DateOfBirth);

执行下面语句查询:

SELECT Name, DateOfBirth
FROM MyTable;

五、删除索引

基本格式:

DROP INDEX MyTable.member_name_index;

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小乔努力变强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值