如何通过单个查询删除除主键之外的所有索引

2023-12-23

我计划删除除主键之外的所有索引。我自己制作了主键,但所有其他索引都是 SQL Server 的建议。

删除所有非主键索引后,计划使用 SQL Server Profiler 调优模板作为数据库调优顾问并创建索引。

通过这种方式,计划不要有未使用的索引或降低性能的索引。

这有多符合逻辑? 谢谢。


DECLARE @sql NVARCHAR(MAX) = N'';

SELECT @sql += N'DROP INDEX ' 
    + QUOTENAME(SCHEMA_NAME(o.[schema_id]))
    + '.' + QUOTENAME(o.name) 
    + '.' + QUOTENAME(i.name) + ';'
    FROM sys.indexes AS i
    INNER JOIN sys.tables AS o
    ON i.[object_id] = o.[object_id]
WHERE i.is_primary_key = 0
AND i.index_id <> 0
AND o.is_ms_shipped = 0;

PRINT @sql;
-- EXEC sp_executesql @sql;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过单个查询删除除主键之外的所有索引 的相关文章

  • 存储过程中的分组和循环

    我需要对 MTH1 MTH2 等列进行求和 但对于我传递的参数 它将为同一帐户代码生成六行信息 这是正确的 它应该产生什么我的问题是如何只返回其中一个数据 但是到目前为止 这就是我的存储过程中六行的总和 ALTER PROCEDURE db
  • 查询获取下一个身份? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 查询获取下一个身份 对于没有删除记录的表来说这是可能的 SELECT TOP 1 EMPID 1 FROM Employee ORDER
  • 链接到 SQL 表时如何在 Access 中获得“查找”功能?

    我正在构建一个 SQL 数据库 该数据库将具有 Access 2010 前端 我希望在 Access 中查找某些字段 即用户单击 Access 中的字段并填充下拉列表 在 Access 中使一个字段成为另一个表的查找相当简单 但我似乎不知道
  • 更改 SQL Server 中的身份种子(永久!)

    有没有办法永久更改身份列的身份种子 使用 DBCC CHECKIDENT 似乎只是设置了最后一个值 如果表被截断 所有值都会重置 dbcc checkident Test SeedIdent reseed 1000 select name
  • SQL LIKE 运算符在应该显示任何结果时没有显示任何结果

    我有一个包含大量信息的车辆表 但其中一列是 MSSQL 表中的 所有者 但我使用时无法选择其中一个所有者LIKE但如果我可以使用 Silkeborg Distributionscenter 是所有者 是的 表和参数中都有一个双空格 所以参数
  • 对不同记录进行 PIVOT 查询

    我有下表 Id Code percentage name name1 activity 1 Prashant 43 43 James James Running 1 Prashant 70 43 Sam Sam Cooking 1 Pras
  • 触发器定义中的 DELETE 语句问题

    我创建了一个插入 更新触发器 旨在根据插入的数据更新不同表中的信息 触发器执行 或应该执行 的最后一件事是从目标表中删除所有数据 这些数据的条件在触发器的插入部分期间可能已更改 除了最后的之外 一切似乎都在触发DELETE陈述 它正在执行D
  • SQL Server:十进制精度/小数位数产生奇怪的结果

    我正在为一个项目编写一些 SQL 我注意到 SQL Server 中一些看似奇怪的行为 涉及除以小数时的答案 以下是一些示例 说明了我所看到的行为 DECLARE Ratio Decimal 38 16 SET Ratio CAST 210
  • MySQL 多索引与多列索引进行搜索

    在我正在编写的软件中 它能够搜索给定的表以获取信息 搜索表单有 5 个字段 当然所有字段都对应于表中的不同列 但所有字段都是可选的 我的问题是关于多列索引是否有效以及为其构建查询的正确方法 如果我有一个跨 5 列的索引 并且我构建了一个查询
  • 我应该在删除数据之前禁用聚集索引吗?

    我知道这已经像任何事情一样被讨论过 但找不到我可以接受的可靠答案 假设我有一个有100亿条记录的表 需要删除where子句中带有标识列的记录 我应该选择哪个选项 选项1 禁用索引 这将节省删除后重新排列索引的开销 但会花费更长的时间来搜索需
  • 查找SQL记录中的并发用户数

    我有以下结构的表 UserID StartedOn EndedOn 1 2009 7 12T14 01 2009 7 12T15 01 2 2009 7 12T14 30 2009 7 12T14 45 3 2009 7 12T14 47
  • 使用索引作为循环变量连接多个数据帧

    我通过 for 循环创建多个数据帧并将它们连接起来 效果很好 但我需要包含循环变量作为索引 我找不到将循环变量设置为索引的方法 maindf pd DataFrame for i in 20170724 20170725 20170726
  • 如何使用存储过程 SQL SERVER 2008 R2(mssql) 插入 PHP 数组值

    我有这个数组 REV Array 0 gt 240 1 gt 241 2 gt 242 3 gt 243 4 gt 249 我现在使用下面的代码进行插入 将每个数组的元素存储在带有 id userID Type 和 Date 的行中 if
  • SQL Server 数据归档解决方案

    我正在寻找一种解决方案来存档数据库中存在的数据 我的数据库是 SQL Server 2008 大约有 250 个表 我搜索网络并找到以下链接 http www dbazine com sql sql articles charran13 h
  • 工厂模式数据库连接

    我正在尝试使用 MySQL 实现数据库连接上的工厂模式 SQL Server 面临奇怪的错误 你调用的对象是空的 在 SQL 命令对象上 internal class SqlServerDB IDatabase private SqlCon
  • 删除 MongoDB 查询结果中的 "scanAndOrder" : true

    所以我的数据库中有一个带有以下分片键的集合 cl yyyy mm user id N 当我执行以下查询时 db collection find cl 2012 03 user id in users id lt new ObjectId 4
  • 使用存储过程访问数据可以提供哪些安全优势?

    我看到一些指南建议您通过存储过程对所有数据访问进行分层来保护数据库 我知道对于 SQL Server 您可以保护表甚至列免受 CRUD 操作的影响 例如 Logged in as sa USE AdventureWorks GRANT SE
  • 如何在 SQL Server 会话中设置自动提交?

    如何在 SQL Server 会话中设置自动提交 您可以通过将implicit transactions设置为OFF来打开自动提交 SET IMPLICIT TRANSACTIONS OFF 当设置为ON时 返回隐式事务模式 在隐式事务模式
  • 删除 SQL Server 上的所有扩展属性

    如何以可编写脚本的方式删除 SQL Server 上的所有扩展属性 如果您想要一个能够一次性删除所有扩展属性的脚本 请使用 Jamie Thomson 创建的脚本 该脚本将为所有扩展属性生成删除 您可以从这里下载article http s
  • 简单的t-sql而不是触发器

    任何人都可以帮助解决简单的 t sql 脚本与板载触发器的问题吗 我使用非常简单的触发器将数据从一个表复制到另一个表 这些表之间没有关系 当我尝试在触发器创建后 从同一脚本 直接第一次插入数据时 我得到了所需的结果 但所有接下来的尝试都会失

随机推荐

  • new 类名(). 方法名(); VS className ref = new className();

    我遇到了我的同事在一个内部使用的代码eventListner 即 private void someActionPerformed java awt event ActionEvent evt new className methodNam
  • makefile“没有规则来创建目标”错误

    我已经研究这个问题有一段时间了 但仍然不知道出了什么问题 我的 makefile 如下所示 F90 pgf90 NETCDF DIR opt netcdf LBS L NETCDF DIR lib lnetcdff lnetcdf INCL
  • 通过交互和指南修改 ggplot2 中的图例

    df lt data frame Depth c 1 2 3 4 5 6 7 8 Var1 as factor c rep A 4 rep B 4 Var2 as factor c rep c C D 4 Value runif 8 g l
  • Eclipse 给出错误“...不是链接资源的有效位置。”

    当我尝试在 Eclipse 中为构建路径配置添加新的类路径变量 并且我添加的路径是当前工作区是其子目录的目录时 Eclipse 给出错误 C JavaStuff is not a valid location for linked reso
  • WCF DataContract - 标记成员 IsRequired=false

    我有一份合同如下 DataContract public class MyObj DataMember IsRequired true public string StrA get private set DataMember IsRequ
  • 具有非常大的 HDF5 文件的 Tensorflow-IO 数据集输入管道

    我有非常大的训练 30Gb 文件 由于我的可用 RAM 无法容纳所有数据 因此我想批量读取数据 我看到有 Tensorflow io 包实施了一种方式 https www tensorflow org io api docs python
  • 为什么Java类应该实现comparable?

    为什么是JavaComparable用过的 为什么有人要实施Comparable在课堂上 您需要实施比较的现实生活示例是什么 这是一个现实生活中的例子 注意String还实现了Comparable class Author implemen
  • 链表中的递归

    我一直在练习链表并想在其上实现递归 尽管在某些情况下我能够有效地实现它 但在其他情况下我却惨败 我想知道一种进行递归的方法 以便不必使用 while 来遍历链接列表 我已经使用递归来遍历数组 但是当我想在这种情况下做类似的事情时它失败 我在
  • Svg矩阵分解

    在 svg 中我们有方法element getCTM 它返回一个SVGMatrix as a c e b d f 0 0 1 我想从这个矩阵计算 sx sy 和旋转角度 关于这个主题有很多东西需要阅读和学习 我将给出一个基本的答案 但请注意
  • D3 - 显示/隐藏仅单击节点的文本

    我试图在单击时显示 隐藏 D3 中节点的文本 我尝试使用以下代码 var node svg selectAll node data json nodes node on click function if textShowing node
  • 如何手动更改 8086 的标志(在汇编代码中)?

    有没有办法手动更改每个标志 或者您是否必须使用一个您知道会改变它们的结果的命令 基本上我正在使用命令RCL 而且我不想一开始就得到1 所以我想改变CF到 0 我知道我可以使用如下命令 mov al 0 shl al 1 但我想知道是否有其他
  • 美国和加拿大的颜色网格单元

    我想为美国和加拿大的网格单元格着色 我的目标与这个问题非常相似 R 在地图上绘制填充的经纬度网格单元 https stackoverflow com questions 11164974 r plot filled longitude la
  • 使用 bash 在目录树中按名称查找文件

    Using bash 如何在目录树中的某处找到具有特定名称的文件pwd 更清楚地说 我想找到位于工作目录根目录中的文件 但我不知道根目录在哪里 而且我的pwd可能在根以下的任何地方 Find file txt直到根 x pwd while
  • 当我尝试对列表进行排序时,出现错误“dict”对象没有属性

    我创建列表的代码是 choices for bet in Bet objects all Here is code that skip loop if bet choice exist in choices temp choice bet
  • Keras ValueError:输入 0 与层 conv2d_1 不兼容:预期 ndim=4,发现 ndim=5

    我已经检查了所有解决方案 但仍然面临同样的错误 我的训练图像形状是 26721 32 32 1 我相信它是 4 维 但我不知道为什么错误显示它是 5 维 model Sequential model add Convolution2D 16
  • FastAPI 作为 Windows 服务

    我正在尝试将 FastAPI 作为 Windows 服务运行 找不到任何文档或任何文章来将 Uvicorn 作为 Windows 服务运行 我也尝试使用 NSSM 但我的 Windows 服务停止了 我设法使用 NSSM 将 FastAPI
  • 如何检查浏览器是否打开

    如何检查浏览器是否打开 我知道我可以检查进程 但有时进程正在运行 但计算机上的浏览器仍在启动 我只需要 Chrome 和 Firefox 两种浏览器 下面的代码获取所有正在运行的进程的文件名 如果 firefox exe 存在于返回哈希集列
  • 分页库 - 无法停止加载项目

    我正在使用分页库直接从网络加载日期 我是否必须实现逻辑来停止获取数据 就我而言 这可能是当收到的项目计数低于页面大小时 目前 当我到达列表末尾时 库会不断加载新页面 理论上 PageKeyedDataSource有一个结果回调 PageKe
  • 在 PHP 中转换日期时“调用非对象上的成员函数 format()”

    我无法摆脱这个错误消息 调用非对象上的成员函数 format 所以 我继续谷歌搜索并找到一些好的来源 例如这个 StackOverflow 问题 https stackoverflow com questions 2167916 conve
  • 如何通过单个查询删除除主键之外的所有索引

    我计划删除除主键之外的所有索引 我自己制作了主键 但所有其他索引都是 SQL Server 的建议 删除所有非主键索引后 计划使用 SQL Server Profiler 调优模板作为数据库调优顾问并创建索引 通过这种方式 计划不要有未使用