首页 > 数据库 >SQL:索引表索引

SQL:索引表索引

时间:2023-08-13 10:55:51浏览次数:29  
标签:index idx -- object 索引 SQL id

SQL SERVER 2008R2 

查询数据库表索引,不包含主约束索引

 -- 表索引,不包含主约束索引。 
 SELECT OBJ.OBJECT_ID AS [TABLE_ID], 
    OBJ.NAME AS [TABLE_NAME],
  --  PK.name AS CONSTRAIN_NAME,
    idx.name as index_name,
    --索引类型: 聚集索引、非聚集索引
    case WHEN idx.type = 1 then 'CLUSTERED' 
     when idx.type=2 then 'NONCLUSTERED' 
     ELSE '' END AS [INDEX_TYPE],
    CASE WHEN IDX.is_unique=1 THEN  'UNIQUE' 
    WHEN IDX.is_unique=0 THEN '不唯一'
    ELSE  '' END [IS_UNIQUE_DESC],
   -- IDXC.index_column_id,
    IDXC.key_ordinal,
    COL.name AS COLUMN_NAME
   -- ,IDX.* 
  FROM SYS.all_objects OBJ,
     --  SYS.key_constraints PK,
       sys.indexes idx,
       sys.index_columns idxc,
       SYS.all_columns COL
  WHERE OBJ.type='U'
  AND OBJ.name LIKE 'AP_Vouch'
 -- AND OBJ.object_id = PK.parent_object_id 
 -- AND PK.type='PK'
 -- and pk.parent_object_id = idx.object_id
 -- and pk.unique_index_id = idx.index_id
  and not exists ( select 1 from  SYS.key_constraints PK
   where  pk.parent_object_id = idx.object_id 
    and pk.unique_index_id = idx.index_id )
  and obj.object_id = idx.object_id
  AND IDX.object_id = IDXC.object_id
  and idx.index_id = idxc.index_id
  AND IDXC.object_id = COL.object_id
  and IDXC.column_id = COL.column_id
--order by  OBJ.NAME, idx.name,IDXC.key_ordinal

  

标签:index,idx,--,object,索引,SQL,id
From: https://www.cnblogs.com/samrv/p/17626264.html

相关文章

  • SQL:主约束索引
    SQLSERVER 主约束索引--主约束索引SELECTOBJ.OBJECT_IDAS[TABLE_ID],OBJ.NAMEAS[TABLE_NAME],PK.nameASCONSTRAIN_NAME,idx.nameasindex_name,IDXC.index_column_id,IDXC.key_ordinal,COL.nameASCOLUMN_NAMEFROMSYS.all_ob......
  • PowerShell 使用SqlScriptDOM对T-SQL做规则校验
    ​ 对于数据项目来说,编写Sql是一项基本任务同时也是数量最多的代码。为了统一项目代码规范同时降低CodeReview的成本,因此需要通过自动化的方式来进行规则校验。由于本人所在的项目以SQLServer数据库为基础,于是本人决定通过使用SqlScriptDom类库来做T-SQL的规则校验。如果是其......
  • sql优化
    sql优化参考博客:SQL优化的几种方法常见的SQL优化方法sql优化的N种方法_持续更新史上最全SQL优化方案sql语句用大写解析sql语句时,把小写的字母转换成大写的再执行对查询进行优化,应尽量避免全表扫描,首先考虑在where及orderby上建立索引。应尽量避免在where子句中进行以......
  • 高性能MySQL 七-十六
    七、MySQL高级性能7.1分区表MySQL在创建表时使用PARTITIONBY子句定义每个分区存放的数据分区的一个主要目的是将数据按照一个较粗的力度分在不同的表中。这样做可以将相关的数据存放在一起1)分区表的原理SELECT查询:当查询一个分区表的时候,分区层先打开并锁住所有的底层表,......
  • ChatGPT联网查询基于yahoo搜索引擎
    联网查询原理很简单1.对搜索内容分词2.将分词后的内容用yahoo搜索3.将搜索返回的内容交给ChatGPT整理提炼Demo代码如下importfetchfrom'node-fetch';importSegmentfrom'segment';import{HttpsProxyAgent}from'https-proxy-agent';constproxyUrl='http://1......
  • e、PLSQL
    PL/SQLPL/SQL简介详情详见《Oracle从入门到精通(第3版)明日科技》的5章https://www.oraclejsq.com/plsql/010200446.htmlPL/SQL(ProceduralLanguage/SQL)是一种过程化语言,在PL/SQL中可以通过IF语句或LOOP语句实现控制程序的执行流程,甚至可以定义变量,以便在语句之间传递数据......
  • d、SQL语言
    SQL语言SQL全称是结构化查询语言,英文译作StructuredQueryLanguage,它是一种在关系型数据库中定义和操纵数据的标准语言。最早是由IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEMR开发的一种查询语言,当时称为SEQUEL2,也就是目前的SQL语言。1979年Oracle公司首先提供了商用......
  • c、SQLPlus命令
    SQL*Plus命令SQL*Plus与数据库的交互Oracle的SQL*Plus是与Oracle进行交互的客户端工具,在SQL*Plus中,可以运行SQL*Plus命令与SQL*Plus语句,主要介绍SQL*Plus命令。SQL*Plus是一个基于C/S两层结构的客户端操作工具,包括客户层(即命令行窗口)和服务器层(即数据库实例),这两层既可以在一......
  • Spark SQL
    SparkSQL1.1SparkSQL简介SparkSQL是一个用来处理结构化数据的Spark组件。它可被视为一个分布式的SQL查询引擎,并且提供了一个叫作DataFrame的可编程抽象数据模型。SparkSQL的前身是Shark,由于Shark需要依赖于Hive而制约了Spark各个组件的相互集成,因此Spark团队提出了Spark......
  • mysql在索引定义中直接使用条件语句
    原始数据库表如下:CREATETABLE`events`(`id`int(11)unsignedNOTNULLAUTO_INCREMENT,`status`enum('on','off')COLLATEutf8_unicode_ciNOTNULLCOMMENT'开关状态',`type`enum('gas_fee_free')COLLATEutf8_unicode_ciNOTNULL......