热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

EFCore建立非聚集索引

一通过EF代码创建protectedoverridevoidOnModelCreating(ModelBuildermodelBuilder){modelBuilder.Entit

一 通过EF代码创建

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity(entity =>
{
entity.HasIndex(e => e.Sort).IsClustered(false);
});
}

二 通过语句创建,及相关注意事项

use [DB]
set statistics io on
select OrderNo,DoctorName,OrderAmount from Orders where DoctorName like '%关键词%' ;
set statistics io off
----创建非聚集索引
--create nonclustered index nc_Orders_DoctorName on Orders(DoctorName)
----创建非聚集索引 关联的查询字段
--create nonclustered index nc_Orders_DoctorName1 on Orders(DoctorName) include(OrderNo,DoctorName,OrderAmount) with(Online=on,MAXDOP=2)
-- 多表连接,一般在inner join 左边的表的ID 做索引
--多表连接:第一次查询的表是少记录的表,第二次查询多记录的表
--索引视图(一般做在变更不大的表)
--索引个数一般做5个,不要超过10个

先创建聚集索引,再创建非聚集索引
一般为 为主键列创建聚集索引,为条件列创建非聚集索引
如果有复合索引,但是条件里面没有相关字段,就会执行表扫描
建立复合索引时:频率大的放前面
当有窄列和宽列时,一般对窄列建立聚集索引
使用聚集索引时机:Group By ,Order By
过滤索引,业务上,肯定会有此条件的时候,
create nonclustered index nc_ColName
on Orders(IndexColName) include(ShowColName1,ShowColName2)
with(Online=on,MAXDOP=2)
where IsValid=1 --过滤索引

 

参考: https://www.cnblogs.com/s-b-b/p/8334593.html https://www.cnblogs.com/AK2012/archive/2013/01/04/2844283.html



推荐阅读
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 本文介绍了如何使用 Spring Boot DevTools 实现应用程序在开发过程中自动重启。这一特性显著提高了开发效率,特别是在集成开发环境(IDE)中工作时,能够提供快速的反馈循环。默认情况下,DevTools 会监控类路径上的文件变化,并根据需要触发应用重启。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • c# – UWP:BrightnessOverride StartOverride逻辑 ... [详细]
  • ImmutableX Poised to Pioneer Web3 Gaming Revolution
    ImmutableX is set to spearhead the evolution of Web3 gaming, with its innovative technologies and strategic partnerships driving significant advancements in the industry. ... [详细]
  • 本文详细介绍了Java中org.w3c.dom.Text类的splitText()方法,通过多个代码示例展示了其实际应用。该方法用于将文本节点在指定位置拆分为两个节点,并保持在文档树中。 ... [详细]
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • 创建第一个 MUI 移动应用项目
    本文将详细介绍如何使用 HBuilder 创建并运行一个基于 MUI 框架的移动应用项目。我们将逐步引导您完成项目的搭建、代码编写以及真机调试,帮助您快速入门移动应用开发。 ... [详细]
  • 本文介绍了在安装或运行 Python 项目时遇到的 'ModuleNotFoundError: No module named setuptools_rust' 错误,并提供了解决方案。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 作为一名新手,您可能会在初次尝试使用Eclipse进行Struts开发时遇到一些挑战。本文将为您提供详细的指导和解决方案,帮助您克服常见的配置和操作难题。 ... [详细]
  • 本文介绍了如何在C#中启动一个应用程序,并通过枚举窗口来获取其主窗口句柄。当使用Process类启动程序时,我们通常只能获得进程的句柄,而主窗口句柄可能为0。因此,我们需要使用API函数和回调机制来准确获取主窗口句柄。 ... [详细]
  • Splay Tree 区间操作优化
    本文详细介绍了使用Splay Tree进行区间操作的实现方法,包括插入、删除、修改、翻转和求和等操作。通过这些操作,可以高效地处理动态序列问题,并且代码实现具有一定的挑战性,有助于编程能力的提升。 ... [详细]
  • 在使用 MUI 框架进行应用开发时,开发者常常会遇到 mui.init() 和 mui.plusReady() 这两个方法。本文将详细解释它们的区别及其在不同开发环境下的应用。 ... [详细]
author-avatar
手机用户2502873943
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有