AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 334511
Accepted
Yano_of_Queenscastle
Yano_of_Queenscastle
Asked: 2024-01-03 21:07:04 +0800 CST2024-01-03 21:07:04 +0800 CST 2024-01-03 21:07:04 +0800 CST

sys.dm_db_index_usage_stats 中的 system_seeks 是什么?

  • 772

系统视图sys.dm_db_index_usage_stats有几个列反映系统查询对索引的使用情况。但是,这是什么意思?为什么系统要查询我的表?

该文档不是特别有帮助:

栏目名称 数据类型 描述
系统搜索 大整数 系统查询的查找次数。
系统扫描 大整数 系统查询的扫描次数。
系统查找 大整数 系统查询的查找次数。
系统升级 大整数 系统查询的更新次数。
sql-server
  • 2 2 个回答
  • 237 Views

2 个回答

  • Voted
  1. Best Answer
    Martin Smith
    2024-01-04T05:24:37+08:002024-01-04T05:24:37+08:00

    sys.dm_db_missing_index_group_stats将其记录为

    由系统查询(例如自动统计查询)引起的搜索次数,组中的推荐索引可能已被用于。有关详细信息,请参阅自动统计事件类。

    生成一些system_seeks和 的一种方法system_scans如下。

    我不确定是否存在其他情况(除了过滤的统计信息),您最终会system_seek在用户表上得到 a 。

    CREATE TABLE dbo.Test(X INT PRIMARY KEY);
    
    INSERT Test 
    SELECT value 
    FROM generate_series(1,10000)
    
    --1 seek 
    CREATE STATISTICS S_Filtered
    ON Test(X) WHERE X > 100
    
    --2 seeks 
    UPDATE STATISTICS dbo.Test (S_Filtered)
    
    -- 1 scans
    CREATE STATISTICS S_UnFiltered ON dbo.Test(X);
    -- 2 scans
    UPDATE STATISTICS dbo.Test(S_UnFiltered);
    -- 3 scans
    UPDATE STATISTICS dbo.Test(S_UnFiltered);
    
    
    SELECT  index_id, user_seeks, user_scans, user_lookups, user_updates, last_user_seek, last_user_scan, last_user_lookup, last_user_update, system_seeks, 
            system_scans, system_lookups, system_updates, last_system_seek, last_system_scan, last_system_lookup, last_system_update
    FROM         sys.dm_db_index_usage_stats
    WHERE object_id = object_id('dbo.Test')
    
    • 5
  2. J.D.
    2024-01-03T21:32:26+08:002024-01-03T21:32:26+08:00

    为什么系统要查询我的表?

    我想不出为什么会这样,但比我聪明的人可能能够想出一个用例......

    ......比我聪明的人占了上风。统计维护是一个从用户表中读取的系统进程。这将导致用户表上的索引的 DMV 中的system_seeks或增加。system_scans

    系统视图sys.dm_db_index_usage_stats有几个列反映系统查询对索引的使用情况。但是,这是什么意思?

    数据库实例中存在系统表。其中一些表也可能被索引。查询这些表的系统进程可能会产生一个利用它们索引的执行计划。system_seeks这就是 DMV 的、system_scans等列的意义sys.dm_db_index_usage_stats所在。

    • 3

相关问题

  • SQL Server - 使用聚集索引时如何存储数据页

  • 我需要为每种类型的查询使用单独的索引,还是一个多列索引可以工作?

  • 什么时候应该使用唯一约束而不是唯一索引?

  • 死锁的主要原因是什么,可以预防吗?

  • 如何确定是否需要或需要索引

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve