什么是基数以及它如何影响性能 (SQL Server)?

2023-11-21

我们有一个巨大的表,我需要在其中对单行进行更新。我不知道该行的主键,但我有一个在该表中唯一的 varchar 值。我还有该表中其他一些列的值。

运行更新需要三分钟以上,我假设它进行了全表扫描。

查看表上的索引,列上的索引的基数为零,页数为零。还有其他索引的基数等于表中的行数(几百万)和几十万页数。

这些数字到底意味着什么?

作为后续措施,添加一个限制来命中具有更高基数或页数的索引会加快执行速度吗?或者我可以在索引上查看其他内容,以找到更适合快速找到我需要更改的行的索引。


基数是表中该字段的唯一值的数量。

我怀疑 SQL Server 实际上并没有创建索引,因为没有它的记录。是否有可能这个字段是全部NULLs,或者上面有一个过滤器,可以消除所有记录,例如WHERE 1=0?

一个好的起点是运行更新并捕获实际的执行计划。

EDIT:

指数类型 3 是XML Index.

请参阅此页面以供参考。

的结构XML索引有很大不同。我自己不使用它们,但从快速阅读来看,它听起来像是创建了一系列附加索引,这些索引无法由用户直接访问,但由查询引擎使用。

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

什么是基数以及它如何影响性能 (SQL Server)? 的相关文章

  • SQL Server 大小写/排序规则问题

    今天我在客户数据库中遇到了一个奇怪的情况 SQL Server 2005 数据库排序规则不区分大小写 因此我可以使用任何大小写编写 SQL 查询 没有任何问题 除了一个 一张特定表中的一个特定列称为 DeadZone 如果我这样查询 从表名
  • 如何连接子查询的第一行?

    我有一个发票表和一个按键关联的相关数据的子表 特别是 对于每张发票 我只对子表中的第一个相关行感兴趣 鉴于我想要每个发票键都有一个相关行 我该如何实现这一点 Select i Invoice Number c Carrier Name Fr
  • SQL Server 批量插入 - “批量加载数据转换错误”

    bulk insert dbo A FROM d AData csv WITH FIELDTERMINATOR ROWTERMINATOR n 将批量数据插入数据库时 在检查可疑数据后 我遇到了无法解释的错误 消息 4867 16 级 状态
  • SQL Server Like 查询不区分大小写

    Query SELECT from Table 2 WHERE name like Joe Output 1 100 Joe 2 200 JOE 3 300 jOE 4 400 joe 为什么不区分大小写 Problem 查询不区分大小写
  • 删除重复的行并需要在mysql中保留所有行中的一个[重复]

    这个问题在这里已经有答案了 我想删除基于两列的重复行 但需要保留所有行 1 行 重复行可以多于两行 例如 ID NAME PHONE 1 NIL 1234 2 NIL 1234 3 NIL 1234 4 MES 5989 我想从上面 3 行
  • 从 PL/SQL 调用 shell 脚本,但 shell 以 grid 用户而非 oracle 身份执行

    我正在尝试使用 Runtime getRuntime exec 从 Oracle 数据库内部执行 shell 脚本 在 Red Hat 5 5 上运行的 Oracle 11 2 0 4 EE CREATE OR REPLACE proced
  • RANK() OVER PARTITION 并重置 RANK

    如何获得在分区更改时重新启动的 RANK 我有这张表 ID Date Value 1 2015 01 01 1 2 2015 01 02 1
  • PostgreSQL 在递归查询中找到所有可能的组合(排列)

    输入是一个长度为 n 的数组 我需要生成数组元素的所有可能组合 包括输入数组中元素较少的所有组合 IN j A B C OUT k A AB AC ABC ACB B BA BC BAC BCA 随着重复 所以AB BA 我尝试过这样的事情
  • ORA-00933 与内部联接和“as”混淆

    我有一个使用以下命令从两个表中获取数据的查询inner join 但我收到错误SQL command not properly ended as 下面有一个星号 select P carrier id O order id O aircra
  • 通过 SQLAlchemy 获取随机行

    如何使用 SQLAlchemy 从表中选择一个或多个随机行 这在很大程度上是一个特定于数据库的问题 我知道 PostgreSQL SQLite MySQL 和 Oracle 具有通过随机函数排序的能力 因此您可以在 SQLAlchemy 中
  • SQL UPDATE 语句根据另一个现有行更新列

    基本上我有一个与下表具有相似格式的表格 我想做的是根据这个逻辑更新 Col4 如果 Col2 为空 则用 Col3 更新 Col4 如果 Col2 不为 null 则在 Col1 中查找与 Col2 中的值匹配的值 使用 col3 中的相应
  • 将 MSSQL 中用于 Web 制图的投影(Leaflet、Openlayer、OpenStreetMaps、GoogleAPI...)更改为 WSG48 或任何其他格式

    我在 MSSQL 服务器中有一些像这样的 WKT WKB 数据 并希望借助 leaflet Openlayer OpenStreetMaps 或 GoogleAPI 将它们显示在地图上 我的数据如下所示 POLYGON 1736946 09
  • 删除表的重复项

    In my activity logs 它包含列 material name user id mod result 这标志着测试是否通过 失败 cert links 不知何故 用户生成了两倍的条目material name与cert lin
  • 如何在 Spring Data 中选择不同的结果

    我在使用简单的 Spring Data 查询或 Query 或 QueryDSL 在 Spring Data 中构建查询时遇到问题 如何选择三列 研究 国家 登录 不同的行 并且查询结果将是用户对象类型的列表 Table User Id S
  • 自动提取数据 - Oracle SQL Developer

    我通过 SQL Developer 连接到 Oracle 数据库 我想编写一个返回每月数据集的查询 然后将该数据提取到分隔文本文件中 我知道如何做到这一点就好了 我想知道是否有一种方法可以编写一个脚本来运行查询并在一年内逐月提取数据 这样我
  • 在 MS Access SQL 查询中从正常日期转换为 unix 纪元日期

    我正在尝试编写一个通过 ODBC 连接到 MySQL 数据库的 MS Access 2007 连接的查询 一切工作正常 查询执行我想要的操作 我挂断的部分是我一直在询问用户 unix 纪元时间 而不是常规日期 我查找了 MS Access
  • 自动删除主键序列中的间隙

    我正在创建一个网页 该网页根据用户操作将数据存储到 MySQL 数据库中 数据库有很多行 行的主键是列 rowID 它只是按顺序对行进行编号 例如 1 2 3 4 用户可以选择删除行 问题是当用户删除最后一行以外的行时 rowID 中有一个
  • java库维护数据库结构

    我的应用程序一直在开发 所以偶尔 当版本升级时 需要创建 更改 删除一些表 修改一些数据等 通常需要执行一些sql代码 是否有一个 Java 库可用于使我的数据库结构保持最新 通过分析类似 db structure version 信息并执
  • C# using 语句、SQL 和 SqlConnection

    使用 using 语句 C SQL 可以吗 private static void CreateCommand string queryString string connectionString using SqlConnection c
  • 根据由另一列分组的不同列的最大值获取值[重复]

    这个问题在这里已经有答案了 我想根据由另一列分组的不同列的最大值来获取列的值 我有这张表 KEY NUM VAL A 1 AB B 1 CD B 2 EF C 2 GH C 3 HI D 1 JK D 3 LM 并想要这样的结果 KEY V

随机推荐

  • phpmyadmin:如何取消导入大数据库的时间限制

    如何删除 phpmyadmin 中导入操作的时间限制 由于限制 我无法上传大数据库 我必须再次登录数据库 Thanks 我使用MySQLBigDump 昨天对我来说效果很好
  • 带注释的控制器中的动态命令类

    从 Spring MVC 3 开始 AbstractCommandController已弃用 因此您不能再在中指定命令类setCommandClass 相反 您可以在请求处理程序的参数列表中对命令类进行硬编码 例如 RequestMappi
  • 如何合并/扩展不同 JAR 中的持久性单元?

    我将 JPA 持久性用于我的数据模型 并使用 Eclipselink 作为持久性提供程序 我有一个模块化 OSGi 应用程序 其中一个模块包含标准数据模型和一个持久单元 该单元自动包含包中的所有实体 持久性提供程序位于另一个模块中 该模块运
  • MySQL 中的交集

    我有两个表 记录和数据 记录有多个字段 名字 姓氏等 这些字段中的每一个都是存储实际值的数据表的外键 我需要搜索多个记录字段 下面是一个使用 INTERSECT 的示例查询 但我需要一个可以在 MySQL 中运行的查询 SELECT rec
  • 从 Android Activity 调用 javascript 函数

    我想从 android 活动调用 javascript 函数 但它似乎不起作用 我使用了 android webview 函数 webview loadUrl javascript function 这是我的安卓代码 package com
  • 在 Delphi XE 中构建事件宏

    根据Delphi的帮助文件 当我打开对话框将构建事件添加到项目选项时 该对话框应显示我可以在构建事件的命令行上使用的宏 占位符 列表 当我在 Delphi XE 中尝试此操作时 宏列表为空 帮助文件也没有说明哪些宏可用 我可以找到 那么 哪
  • 如何将字符串转换为字典或列表?

    我有诸如以下的字符串 1 2 3 and a 1 b 2 如何将它们转换为列表 字典 有人提到ast literal eval or eval可以解析转换为列表 字典的字符串 有什么区别ast literal eval and eval a
  • Firestore - 检查模块与服务器的连接状态

    我注意到关闭互联网连接并重新打开后 while my Android app仍在运行 无论是否在后台 则需要Firestore模块需要很长时间才能重新获得与服务器的连接 大约一分钟 并且我无法进行任何操作Firestore操作直到恢复连接
  • 如何将 groupby.first() 与变换函数一起使用

    我想使用 groupby first 函数查找组的第一个非空值并将该值转换为组中的每一行 我尝试过以下代码 import pandas as pd import numpy as np raw data col1 a a a b b b b
  • MATCH AGAINST 和 LIKE 哪个 SQL 查询更好?

    要在数据库中搜索 foo desc 和 bar desc 任意列中同时具有关键字 foo 和 bar 的行 我会执行以下操作 SELECT FROM t1 WHERE MATCH t1 foo desc t2 bar desc AGAINS
  • 发布到 django Rest 框架

    我想使用以下方式发布到我的 Django 服务器post所以我可以添加一个todo物品 这是模型 class Todo models Model title models CharField max length 200 text mode
  • 如何使用 T-SQL 替换模式?

    我有规范化 POB 地址的代码 例如 其中包含的标准化之一是 set string replace string pobox pob 现在我想做类似的事情 我想找到任何直接跟在数字后面 中间没有空格 的 POB 并插入一个空格 我想找到模式
  • Chrome 无法播放 .mp4 文件

    我正在尝试让 HTML5 视频正常工作 我正在本地服务器上工作
  • ggplot 中的自定义形状(geom_point)

    Aim 我正在尝试改变形状geom point变成一个十字 所以不是 加 加 符号 而是 死亡 十字 Attempt 假设我有以下数据 library tidyverse df lt read table text x y 1 3 2 4
  • 如何以编程方式滚动到 UIWebView 的底部?

    我知道以前曾有人问过类似的问题 但似乎从未得到解答 我有一个 UIWebView 并通过字符串添加一些内容 我使用 UIWebView 是因为我动态地向其中添加一些图像 并且还使用其他 HTML 功能 此示例代码经过简化 NSString
  • pandas 在执行 groupby 后重置索引并保留选择性列

    我想采用 pandas 数据框 按列计算唯一元素并保留其中 2 列 但是我在 groupby 之后得到一个多索引数据框 我无法 1 展平 2 仅选择相关列 这是我的代码 import pandas as pd df pd DataFrame
  • 将虚拟地址与下一页边界对齐

    我遇到了以下算法 该算法将虚拟地址与紧邻的下一页边界对齐 VirtualAddr VirtualAddr PageSize 1 另外 给定字节长度 将长度 四舍五入 对齐到页边界上 len PageSize 1 len len PageSi
  • #1055 - SELECT 列表的表达式不在 GROUP BY 子句中并且包含非聚合列,这与 sql_mode=only_full_group_by 不兼容

    我的查询 select libelle credit initial disponible v sum montant as montant FROM fiche annee type where type id type annee id
  • jQuery 中的按键:在 TEXTAREA 内按 TAB 键(编辑现有文本时)

    我想在 TEXTAREA 中插入 TAB 字符 如下所示
  • 什么是基数以及它如何影响性能 (SQL Server)?

    我们有一个巨大的表 我需要在其中对单行进行更新 我不知道该行的主键 但我有一个在该表中唯一的 varchar 值 我还有该表中其他一些列的值 运行更新需要三分钟以上 我假设它进行了全表扫描 查看表上的索引 列上的索引的基数为零 页数为零 还