SQL Server - 如何确定索引是否未被使用?

2024-01-07

我有一个高需求的事务数据库,我认为该数据库索引过度。最初,它根本没有任何索引,因此为常见流程添加一些索引会产生巨大的差异。然而,随着时间的推移,我们创建了索引来加速单个查询,一些最流行的表上有 10-15 个不同的索引,在某些情况下,索引彼此之间仅略有不同,或者是相同的列以不同的顺序。

有没有一种简单的方法来观察数据库活动并判断是否有任何索引不再被命中,或者它们的使用百分比是多少?我担心创建索引是为了加速单个每日/每周查询,甚至是不再运行的查询,但索引仍然必须在每次数据更改时保持最新。

在高流量表的情况下,每秒十几次,我想消除那些拖累数据更新的索引,同时只提供边际改进。


查看用户搜索/扫描/查找的数量以及上次用户搜索/扫描/查找的数量sys.dm_db_index_usage_stats http://msdn.microsoft.com/en-us/library/ms188755.aspx。这些统计数据在服务器启动时重置,因此您必须在服务器启动并运行相关负载足够的时间后进行检查。

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

SQL Server - 如何确定索引是否未被使用? 的相关文章

  • Cassandra 与 ZooKeeper 的事务 - 这有效吗?

    我正在尝试在 ZooKeeper 的帮助下为 Cassandra 实现一个事务系统 由于我认为我在数据库实现方面没有足够的经验 所以我想知道我的想法原则上是否可行 或者是否有任何重大缺陷 以下是步骤的高级描述 识别所有要编辑的行 键 和列
  • 将“选票”存储在数据库中

    我正在编写一个 Intranet 应用程序 其功能之一大致类似于内容投票 与 SO Amazon 和许多其他网站的做法不同 假设每个可投票的内容都有一个唯一的 ID 并且每个用户 他们经过身份验证 都有一个唯一的 ID 最简单的方法似乎是有
  • 使 IPTC 数据可搜索

    我对 IPTC 元数据有疑问 是否可以通过 IPTC 元数据 关键字 搜索不在数据库中的图像并显示它们 我将如何执行此操作 我只需要一个基本的想法 我知道 PHP 有 iptcparse 函数 我已经编写了一个函数来获取画廊文件夹和所有子目
  • 子查询在多项选择时返回超过 1 个值的 SQL 错误

    我想要一个临时表 它将使用 select 语句插入值 但每次我运行查询时 总是出现错误 子查询返回超过 1 个值 当查询跟随 gt 或子查询用作表达式时 不允许这样做 该语句已终止 0 行受影响 这很奇怪 因为代码中似乎没有错误 但如果有的
  • 多人/单人测验游戏的数据库设计

    我在这里看到了很多问题 但没有人适合我的问题 我正在尝试创建一个可扩展的 ER 模型 如果我想添加更多数据 则不会破坏几乎任何东西 所以我尝试创建的是 有两种类型的用户 比如说管理员和工作人员 他们有不同的角色 管理员可以对问题进行 CRU
  • 将 MS-Access 表单结果导出到 Excel?

    我对 Access 有点陌生 我在将 MySQL 和 Oracle 与 PHP 集成以创建基于 Web 的数据库搜索引擎方面拥有一些经验 但我很难理解 Access 的某些概念 我有一个小型数据库 其中包含大约 200 个条目 每个条目有
  • 数据库设计 - “推”模型,或写时扇出

    背景信息 我正在尝试检索我关注的人的图像 按最新时间排序 它就像 Twitter 新闻源 显示您朋友的最新动态 Plans 目前我只需要考虑一项 那就是图像 将来我计划分析用户的行为并将他们可能喜欢的其他图像添加到他们的提要中等 http
  • SQL:删除SQL Server中的重复记录

    我有一个 sql server 数据库 我预先加载了大量数据行 不幸的是 数据库中没有主键 并且表中现在存在重复信息 我不担心没有主键 但我担心数据库中有重复项 有什么想法吗 原谅我是一个sql server新手 嗯 这就是表上应该有主键的
  • SQL Server 内部级联更新/删除如何工作?

    好吧 我相信这个问题还不清楚 这里我用另一种方式重写它 假设我创建两个表 table1 c1 int PRIMARY KEY table2 table1c11 int 之间存在关系table1 and table2 i e table1 c
  • 执行Insert命令并返回Sql中插入的Id

    我正在 MVC 4 中使用 C 将一些值插入到 SQL 表中 实际上 我想插入值并返回最后插入记录的 ID 我使用以下代码 public class MemberBasicData public int Id get set public
  • 服务器未配置 RPC

    查找我的工作历史 发现以下错误 06 18 2018 00 00 01 MBS Lojas ExportaMR OutrasLojas Error 1 WIN VRT 01 SQL2008 MBS Lojas ExportaMR Outra
  • 将数据添加到闪存中的段如何会扰乱程序的时序?

    我有一个实时嵌入式应用程序 其主周期以 10KHz 运行 它在配置为从闪存启动的 TI TMS320C 上运行 我最近在源文件中添加了一个初始化的数组 突然间时间就搞砸了 以一种太复杂的方式无法很好地解释 本质上串行端口写入不再按时完成 这
  • 如何将UTF-8编码的汉字从MySql正确导出到SQL

    过去三天我们正在与严重的问题作斗争 我们从PhpmyAdmin导出MySql数据库文件 数据库条目中写入的数据是带有UTF 8字符集的中文 导出后将其转换为拉丁字符集 现在我们正在将此数据库SQl文件导入到其他主机 我们在UTF 8和排序规
  • SQLite 数据库安全

    我正在构建一个使用 Sqlite DB 的应用程序 用户可以将他们的信息输入数据库并检索它们 但是 我希望他们能够备份 sqlite 数据库 我所做的是将 sqlite 数据库放入文档文件夹中 以便他们可以使用 iTunes 将其检索出来
  • Android spinner 将多列(连接)Sqlite 数据库加载到表中

    我正在学习如何创建一个从 SQLite 加载下拉列表的微调器 我有一个由旋转器和表格组成的用户界面 如果用户单击微调器 表的内容将根据微调器上选定的 ID 根据数据库加载 如果未选择名称 它将加载表中的所有内容 但是我找不到如何根据微调器上
  • 如何在 Julia 中有效计算二次形式?

    我想计算一个二次形式 x Q y在朱莉娅 对于这种情况 计算此值的最有效方法是什么 没有假设 Q是对称的 x and y是相同的 x y Both Q是对称的并且x y 我知道朱莉娅有dot 但我想知道它是否比 BLAS 调用更快 现有的答
  • 关于数据库变更的通知

    我正在尝试一种场景 其中我想使用任何用户提交的更改来更新在不同 PC 上运行的桌面 UI 例如 Application1 安装在 PC1 PC2 和 PC3 上 假设所有 PC 都运行此应用程序 假设 PC1 上的用户 1 更改数据并提交到
  • 如何检测数据库类型?

    我需要确保我连接的数据库是 MySQL 而不是 PostgreSQL 或 Microsoft SQL Server 我怎样才能知道正在使用哪种类型的数据库 第一个提示可能是如果您尝试使用 mySQL 数据库驱动程序连接到 PostgreSQ
  • 如何增加每次 INSERT INTO 迭代的值?

    我有一个查询 如下所示 第 1 列位于 另一列是 varchar 100 INSERT INTO TABLE1 column1 column2 SELECT MAX column1 FROM TABLE1 1 anotherColumn F
  • 为什么 C# 编译的正则表达式比等效的字符串方法更快?

    每次我必须对字符串执行简单的包含或替换操作 其中我正在搜索的术语是固定值 时 我发现如果我获取示例输入并对其进行一些分析 则使用编译的正则表达式是几乎 总是比使用 String 类中的等效方法更快 我尝试过比较多种方法 hs是要搜索的 干草

随机推荐