GBase 8c数据库中怎么查看已有的索引呢?
发布网友
发布时间:2022-04-29 22:26
我来回答
共2个回答
懂视网
时间:2022-04-30 02:47
TableId=O.[object_id],
TableName=O.Name,
IndexId=ISNULL(KC.[object_id],IDX.index_id),
IndexName=IDX.Name,
IndexType=ISNULL(KC.type_desc,‘Index‘),
Index_Column_id=IDXC.index_column_id,
CColumnID=C.Column_id,
CColumnName=C.Name,
Sort=CASE INDEXKEY_PROPERTY(IDXC.[object_id],IDXC.index_id,IDXC.index_column_id,‘IsDescending‘)
WHEN 1 THEN ‘DESC‘
WHEN 0 THEN ‘ASC‘
ELSE ‘‘ END,
PrimaryKey=CASE WHEN IDX.is_primary_key=1 THEN N‘√‘ELSE N‘‘ END,
[UQIQUE]=CASE WHEN IDX.is_unique=1 THEN N‘√‘ELSE N‘‘ END,
Ignore_dup_key=CASE WHEN IDX.ignore_dup_key=1 THEN N‘√‘ELSE N‘‘ END,
Disabled=CASE WHEN IDX.is_disabled=1 THEN N‘√‘ELSE N‘‘ END,
Fill_factor=IDX.fill_factor,
Padded=CASE WHEN IDX.is_padded=1 THEN N‘√‘ELSE N‘‘ END
FROM sys.indexes IDX
INNER JOIN sys.index_columns IDXC
ON IDX.[object_id]=IDXC.[object_id]
AND IDX.index_id=IDXC.index_id
LEFT JOIN sys.key_constraints KC
ON IDX.[object_id]=KC.[parent_object_id]
AND IDX.index_id=KC.unique_index_id
INNER JOIN sys.objects O
ON O.[object_id]=IDX.[object_id]
INNER JOIN sys.columns C
ON O.[object_id]=C.[object_id]
AND O.type=‘U‘
AND O.is_ms_shipped=0
AND IDXC.Column_id=C.Column_id
-- INNER JOIN -- 对于一个列包含多个索引的情况,只显示第1个索引信息 -- ( -- SELECT [object_id], Column_id, index_id=MIN(index_id) -- FROM sys.index_columns -- GROUP BY [object_id], Column_id -- ) IDXCUQ -- ON IDXC.[object_id]=IDXCUQ.[object_id] -- AND IDXC.Column_id=IDXCUQ.Column_id
查询数据库已存在的索引
标签:
热心网友
时间:2022-04-29 23:55
可以查询GBase 8c系统表中的pg_index表,这个系统表中会存储索引的一些信息。
GBase 8c中怎么查询数据库配置参数,例如datestyle。使用什么函数或者语 ...
在GBase 8c中,可以使用current_setting函数,来查询获取参数的当前值,和SQL语句SHOW是等效的。查询datesytle,则语法如下gbase=# SELECT current_setting('datestyle');current_setting---ISO, MDY(1 row)
如何查看GBase 8c数据库中模式的所有者呢?
需要查看Schema所有者的话,可以对系统表PG_NAMESPACE和PG_USER执行如下关联查询。语句中的schema_name请替换为实际要查找的Schema名称。SELECT s.nspname,u.usename AS nspowner FROM pg_namespace s, pg_user u WHERE nspname='schema_name' AND s.nspowner = u.usesysid;
GBase 8c的索引方式有几种?分别是哪些?
(2)主键索引:如果一个表上定义了一个主键,那么GBase 8c会自动在主键属性上创建唯一索引来实现主键约束。可以说,主键索引是唯一索引的特殊类型。(3)多属性索引:如果一个索引定义在多余一个的属性上,就称其为多属性索引,它多用于组合查询。目前GBase 8c中的B-Tree、GiST和GIN支持多属性索引...
安装GBase 8c数据库的时候,报错显示“Resource:gbase8c already in us...
如果gbase8c为集群,这错误信息说明已经布署,或者dcs上某些key存在,执行uninstall即可。如果gbase8c位置处为节点名称、端口号、ip之类的,检查配置文件查看对应信息是否被重复使用,修改配置文件并卸载重装即可。
GBase 8c的索引类型式有几种?分别是哪些?
GBase 8c提供了多种索引类型: B-tree、Hash、GiST、SP-GiST 、GIN 和 BRIN。每一种索引类型使用不同的算法来适应不同类型的查询。默认情况下,CREATE INDEX命令创建适合于大部分情况的B-tree 索引。(1)B-tree索引使用一种类似与B+树的结构来存储数据的键值,通过这种结构能够快速地查找索引。(2)...
GBase 8c 有存储依赖关系的位置吗?
这是用于数据库对象之间的依赖关系。从参考资料查到的,表列包括:classid(依赖对象所在的系统目录OID)、objid(指定依赖对象的OID)、objsubid(对于一个表列,这里是列号)、refclassid(被引用对象所在的系统目录的OID)、refobjid(指定被引用对象的OID)、refobjsubid(列号)、deptype(定义此...
之前创建了一个GBase 8c数据库,忘记是用哪个用户创建的了,怎么查?
使用\l元命令,查看数据库信息列表,在该数据库名称一行,对应Owner列查看为哪个用户所有。
想启动GBase 8c数据库中的资源负载管理功能,应该怎么操作呢?
步骤1 以操作系统用户gbase登录GBase 8c主节点。步骤2 开启Control Group功能。gs_guc reload -Z coordinator -Z datanode -N all -I all -c "enable_control_group=on"步骤3 开启基于资源池的资源负载管理功能。gs_guc set -Z coordinator -Z datanode -N all -I all -c "use...
GBase 8c数据库集群中,怎么替换节点呢?比如设置A节点为gtm,换到B节点...
GBase 8c为分布式。数据库不能直接删掉单个gtm节点,会影响集群健康。可以先将B节点扩容为gtm备节点。正常启动后,调用switchover命令,在B节点已经切换为GTM主节点后。A节点作为GTM备节点,可以进行缩容操作。
GBase 8c数据库如何查看上一次登录认证通过的日期、时间和IP等信息?
查看上一次登录认证通过的日期、时间和IP等信息。 gbase=# select * from login_audit_messages(true); username | database | logintime | mytype | result | client_conninfo---+---+---+---+---+--- gbase | postgres | 2022-05-18 17:08:46+08 | login_success...