ASP.NET Core6.0/8.0学习笔记(十八)——索引配置

一、什么是索引

1.使用索引可以使得基于列(或一组列)的查找更加高效
2.索引的分类:聚集索引、非聚集索引
(1)聚集索引是物理索引,索引顺序与物理存储顺序一致;基于数据行的键值
(2)非聚集索引是逻辑索引,索引顺序与物理顺序不一致。具有完全独立于数据行的结构
(3)唯一索引:用作索引的字段中各个数据必须是唯一的,不得重复(相当于普通索引加一层唯一性约束)
3.一个表中可以有多个非聚集索引,但是聚集索引只能有一个。因此在建立聚集索引时一定要确保表中没有多余的聚集索引。(因为聚集索引实质上是对数据进行了排序,一张表只能有一种排序方式)
例如学生表中,整个表中的数据在内存中按学号排序。则学号就是聚集索引。我们按照分数对数据进行了排序并建立索引,则这个索引与物理顺序不一致,为非聚集索引。
4.索引意味着排序。也会占用一定的内存(例如一本没有目录的字典与有目录的字典)同时降低了增删改的效率,只会增加查询效率。因此只在最经常检索的字段上建立索引

二、设置数据表的某一列作为索引

1.默认情况下,当使用的数据库中使用了EF Core指定外键时,外键会自动建立索引(约定)
2.使用HasIndex可以将数据表中的若干列设置为索引:
在这里插入图片描述

执行迁移,生成对应的索引:
在这里插入图片描述

  1. 调用IsUnique()可以将这个索引设置为唯一索引:
    在这里插入图片描述

4.在EF 7.0之后的版本中,索引支持排序操作(原先默认正序排序),现在可以使用IsDescending()方法将索引改为降序排序。

三、复合索引

(1)一般情况下,在进行多条件查询的时候才会使用复合索引。且使用符合索引的查询速度要高于单索引
(2)设置复合索引只需要将HasIndex的参数配置为一个匿名对象即可:
在这里插入图片描述

执行数据迁移:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

GISer_Qing

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

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

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

打赏作者

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

抵扣说明:

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

余额充值