首页 > 其他分享 >pg_index

pg_index

时间:2024-06-11 21:11:05浏览次数:23  
标签:index JOIN CREATE oid pg test

在pg11之后,引入了indnkeyatts字段,根据官方文档解释其作用:The number of key columns in the index, not counting any included columns, which are merely stored and do not participate in the index semantics
第一感觉,和indnatts字段差不多,但两者的说明存在差异。后者是参与索引的列的计数,前者是关键列的计数。
于是做了一个小测试,如下:
新建test表

CREATE TABLE test (
	a _int8 NULL,
	b _int8 NULL,
	c _int8 NULL
);
CREATE INDEX test_a_idx ON test (a);
--单列索引
CREATE INDEX test_a_idx1 ON test (a,b);
--组合索引
CREATE INDEX test_a_idx2 ON test (a,b) include (c);
--使用inclue创建非键列
---查询各个索引的计数
SELECT 
    indnkeyatts,indnatts,i_c.relname
FROM 
    pg_index i
JOIN 
    pg_class c ON c.oid = i.indrelid
JOIN 
    pg_class i_c ON i_c.oid = i.indexrelid
JOIN 
    pg_am am ON am.oid = i_c.relam
LEFT JOIN 
    pg_attribute a ON a.attrelid = c.oid AND a.attnum = ANY(i.indkey)
JOIN 
    pg_namespace n ON n.oid = c.relnamespace
WHERE 
    c.relname = 'test'

结果如下

indnkeyatts indnatts relname
2 3 test_a_idx2
2 3 test_a_idx2
2 3 test_a_idx2
1 1 test_a_idx
2 2 test_a_idx1
2 2 test_a_idx1

感觉差异就在于对include字段的处理上。不知道还有其他情况,会影响计数的值,有了解的可以留言讨论下。

标签:index,JOIN,CREATE,oid,pg,test
From: https://www.cnblogs.com/GISyunqi/p/18242733

相关文章

  • 中端 20 纳米 FPGA:10AX115N4F45E3LG、10AX115N2F45I2LG、10AX115N2F45I1SG、10AX115N1
    Arria®10器件系列包括高性能,低功耗的20nm中端FPGA和SoC。Arria®10器件系列实现了:比上一代中高端FPGA更高的性能。通过一套综合节能技术来降低功耗。Arria®10器件专为各领域中高性能、功耗敏感的中端应用而设计。Arria®10GX1150FPGA系列器件:10AX115H3F34E2LG10A......
  • pgAdmin未授权命令执行漏洞(CVE-2022-4223)
    ​https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v5.7/source/pgadmin4-5.7.tar.gz 下载pgadmin5.7的源码首先从代码层面进行分析接口 /validate_binary_path​最后调用了 subprocess.getoutput(​来执行了命令这一部分代码是对传入的路径进行检测,如果是在linu......
  • 关于计算核心先进性和稳定性的差异以及CPU/MCU/PLC/工控机/DSP/FPGA/PAC/SOC/GPU/NPU/
    各种名称的关系PLC分为组合式和一体式,整体上落后于个人商用主机主要使用梯形图语言(LD)、指令表语言(IL)、功能模块图语言(FBD)、顺序功能流程图语言(SFC)、结构化文本语言(ST)编程为什么PLC贵为什么PLC使用的处理器都比较低端?(比如低端赛扬甚至STM32)PLC无需进行多任务处理CPU越......
  • pythonD盘JPG全部转成PDF
    importosfromPILimportImagefromreportlab.lib.pagesizesimportletterfromreportlab.pdfgenimportcanvasdefget_jpg_files(directory):"""获取指定目录下所有JPG文件的路径"""jpg_files=[os.path.join(directory,f)f......
  • python-数据分析-Pandas-5、DataFrame-index
    Index类型,它为Series和DataFrame对象提供了索引服务,有了索引我们就可以排序数据(sort_index方法)、对齐数据(在运算和合并数据时非常重要)并实现对数据的快速检索(索引运算)。由于DataFrame类型表示的是二维数据,所以它的行和列都有索引,分别是index和columns。Index类型的创建的比较简单......
  • 在centos7.9下编译安装nginx1.16.1带fancyindex
    在centos7.9下编译安装nginx1.16.1带fancyindex文章目录前言一、安装环境centos7.9/nginx1.16.1/ngx-fancyindex-0.4.4二、需要达到的效果1.默认效果2.安装主题效果三、nginx编译安装1.安装依赖工具2.创建目录并下载Nginx及其模块3.运行编译与安装4.配置环境变......
  • (16)DAC接口--->(001)FPGA实现AD5601接口(一)
     (001)FPGA实现AD5601接口(一)1目录(a)FPGA简介(b)IC简介(c)Verilog简介(d)FPGA实现AD5601接口(一)(e)结束1FPGA简介(a)FPGA(FieldProgrammableGateArray)是在PAL(可编程阵列逻辑)、GAL(通用阵列逻辑)等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半......
  • RGMII接口--->(011)FPGA实现RGMII接口(十一)
     (011)FPGA实现RGMII接口(十一)1目录(a)FPGA简介(b)IC简介(c)Verilog简介(d)FPGA实现RGMII接口(十一)(e)结束1FPGA简介(a)FPGA(FieldProgrammableGateArray)是在PAL(可编程阵列逻辑)、GAL(通用阵列逻辑)等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种......
  • 安全电子邮件之PGP技术
    一、背景介绍   早期的互联网完全没有任何加密,用户之间传递的信息可以被任何人轻易截取窃听,更糟糕的是,美国联邦政府一直在试图将窃听合法化。   在这种情况下,菲利普·齐默曼(PhilipR.Zimmermann)在1991年创造了第一个版本的PGP(PrettyGoodPrivacy)加密。  ......
  • UE4动作游戏实例RPG Action解析-导语
    UE实战篇(动作游戏)概述解析官方示例游戏《动作RPG》动作角色扮演游戏示例项目(简称ARPG)是一个快节奏的第三人称砍杀类游戏本篇作用是从零开始写官方示例游戏重要部分,学完这篇再去研究官方示例,会轻松很多学完会获取以下知识:1.Unreal写一个C++项目2.学习UnrealGAS系......