数据库索引

数据库索引

1.什么是索引?

以查字典为例,我们使用字典的时候,不会一页一页的去查找,而是根据汉字的读音或偏旁部首,在字典最前面的拼音目录或偏旁部首目录查询。这些目录就是索引。

创建索引的优点:

使用字典前面的索引可以快速的查到我们所需要的汉字信息,

数据库也一样,创建索引就是为了提高查询效率。在进行查询时,先查索引,根据索引快速查找到所需要的数据。

创建索引的缺点:

1.有了前面的索引目录虽然可以让我们快速的查到想要的汉字,但同时每一页目录都占用了字典的空间。数据库也一样,创建索引,会占用存储空间。

2.如果我们在修订字典时,添加(删除,修改)一个汉字,那么要同时添加(删除,修改)对应的索引。

数据库也一样,创建索引提高了查询效率的同时增、删、改的效率也会降低。

2.六种数据库索引

数据库索引共有六种分别是:普通索引、唯一索引、主键索引、复合索引、全文索引、空间索引。

1.普通索引:对单列创建索引。

2.唯一索引:在添加unique唯一约束时,会自动添加唯一索引。

3.主键索引:在创建primary key主键时,会自动添加主键索引。

4.复合索引:同时在多列上创建索引。

5.全文索引:对全库创建索引。

6.空间索引:对全磁盘空间创建索引。

创建数据库索引:

create [unique][fulltext][spatial] index 索引名 on 表名(列名) ;

删除数据库索引:

drop index 索引名 on 表名;

显示数据库索引:

show index from 表名;

什么情况下会建立索引:

1.经常搜索的列

2.经常用作查询条件的列

3.经常排序、分组的列

4.用作主键/外键的列

什么情况不推荐创建索引:

1.表中仅有几个字段

2.字段的内容仅有几行

注意

1.为什么在查询大量数据的时候不推荐使用select * from 表名 来查询

答:因为在使用select * 查询表数据时,不会使用索引查询。因此查询效率会降低。

2.当where子句中有多个条件表达式时,包含索引列的表达式应该置于其他表达式之前。(首先根据索引列条件进行查询,尽可能多的排除不需要的数据,提高查询效率。)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值