索引创建与删除

一、什么是索引?
索引是一种特殊的查询表,数据库搜索引擎可以使用它加速数据检索。它们也组织数据库存储数据的方式
索引就好像我们书中的目录,是这一本书的综合,告诉你在书的什么地方能够找到一个特定的向,一看目录就可以看到你要找的东西在哪一页,不用从书的起始页开始,缩减了你的查询时间。
目的:加快对表中记录的查找或排序
二、什么时候使用索引?
对于一些我们经常需要搜索的列上,可以使用索引,加快搜索速度
在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度
对于那些在查询中很少使用或者参考的列不应该创建索引
对于那些只有很少数据值的列也不应该增加索引
三、优缺点
优点:1.能够加快表与表之间的连接速度,这对于提高数据的参考完整性方面具有重要作用
2.能提高数据的搜索及检索速度,符合数据库建立的初衷,例,SELECT查询和WHERE子句
3.在信息检索过程中,若使用分组及排序子句进行时,通过建立索引能有效的减少检索过程中所需的分组及排序时间, 提高检索效率
缺点:1.减慢数据的输入速度,例,UPDATE语句和INSERT语句
2.在数据库建立过程中,需花费较多的时间去建立并维护索引,特别是随着数据总量的增加,所花费的时间将不断递增
3.在数据库中创建的索引需要占用一定的物理存储空间
四、创建索引
创建索引需要使用CREATE INDEX语句,它允许用户命名索引、指定表和需要索引的单个列或多个列、指定索引是按照升序还是降序排列。基本格式如下:
单列索引:
CREATE INDEX <index_name>
ON <table_name> (<column_names>)
多列索引:当用户经常搜索多列时
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;
默认升序排列
唯一索引(先根据姓名按照降序排序结果,然后根据出生日期排序)

CREATE UNIQUE INDEX member_name_indx
ON MyTable (Name DESC, DateOfBirth);
执行下面语句查询:
SELECT Name, DateOfBirth
FROM MyTable;
五、删除索引
基本格式:

DROP INDEX MyTable.member_name_index;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值