openGauss的索引与视图


风晓
风晓 2024-01-16 08:37:04 54241 赞同 0 反对 0
分类: 资源 标签: 国产数据库
openGauss的索引与视图

openGauss的索引与视图

 

 

 

一、索引

 

索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。

 

步骤 1:创建索引:

⚫在普通表 property 上创建索引

CREATE INDEX finance.idx_property ON finance.property(pro_c_id DESC,pro_income,pro_purchase_time) ;

结果如下:

CREATE INDEX

 

步骤 2:使用元命令,查看创建的索引:

\di idx_property

获得结果为:

List of relations Schema | Name | Type | Owner | Table | Storage

---------+--------------+-------+----------+----------+---------

finance | idx_property | index | bank_app | property |

(1 row)

 

步骤 3:重命名索引:

⚫在普通表 property 上重建及重命名索引。

DROP INDEX finance.idx_property;

CREATE INDEX finance.idx_property ON finance.property(pro_c_id DESC,pro_income,pro_purchase_time);

 

重命名索引

ALTER INDEX finance.idx_property RENAME TO idx_property_temp;

 

步骤 4:使用元命令,查看创建的索引:

\di idx_property_temp

获得结果为:

List of relations Schema | Name | Type | Owner | Table | Storage

---------+-------------------+-------+----------+----------+---------

finance | idx_property_temp | index | bank_app | property |

(1 row)

 

步骤 5:删除索引。

⚫删除索引 idx_property_temp。

DROP INDEX finance.idx_property_temp;

 

二、视图

视图是一个虚拟表,是 sql 的查询结果,其内容由查询定义。对于来自多张关联表的复杂查询,就不得不使用十分复杂的 SQL 语句进行查询,造成极差的体验感。使用视图之后,可以极大的简化操作,使用视图不需要关心相应表的结构、关联条件等。

 

步骤 1 :创建视图:

针对“查询用户编号在银行卡表中出现的用户的编号,用户姓名和身份证” 的查询,创建视图。

CREATE VIEW finance.v_client as SELECT c_id,c_name,c_id_card FROM finance.client WHERE EXISTS (SELECT * FROM finance.bank_card WHERE client.c_id = bank_card.b_c_id);

 

使用视图进行查询。

SELECT * FROM finance.v_client;

结果如下:

c_id | c_name | c_id_card

------+--------+----------------------

1 | 左晓婷 | 340211199301010001

3 | 朱长刚 | 340211199301010003

5 | 安艳芳 | 340211199301010005

7 | 傅小芳 | 340211199301010007

9 | 邵小婷 | 340211199301010009

10 | 章晓峰 | 340211199301010010

12 | 冯长强 | 340211199301010012

14 | 赵晓鹏 | 340211199301010014

16 | 尹高峰 | 340211199301010016

18 | 唐高伟 | 340211199301010018

19 | 洪高鹏 | 340211199301010019

21 | 邱长强 | 340211199301010021

23 | 潘成轩 | 340211199301010023

24 | 季小梅 | 340211199301010024

26 | 倪兰芳 | 340211199301010026

27 | 姜小芳 | 340211199301010027

29 | 娄晓婷 | 340211199301010029

(17 rows)

 

步骤 2:修改视图内容:

修改视图,在原有查询的基础上,过滤出信用卡用户。

CREATE OR REPLACE VIEW finance.v_client as

SELECT c_id,c_name,c_id_card

FROM finance.client

WHERE EXISTS (SELECT * FROM finance.bank_card WHERE client.c_id = bank_card.b_c_id and bank_card.b_type='信用卡');

 

使用视图进行查询。

select * from finance.v_client;

结果如下:

c_id | c_name | c_id_card

------+--------+----------------------

1 | 左晓婷 | 340211199301010001

3 | 朱长刚 | 340211199301010003

5 | 安艳芳 | 340211199301010005

7 | 傅小芳 | 340211199301010007

9 | 邵小婷 | 340211199301010009

10 | 章晓峰 | 340211199301010010

12 | 冯长强 | 340211199301010012

14 | 赵晓鹏 | 340211199301010014

16 | 尹高峰 | 340211199301010016

18 | 唐高伟 | 340211199301010018

(10 rows)

 

步骤 3 修改视图名称:

ALTER VIEW finance.v_client RENAME TO v_client_new;

 

步骤 4:删除视图。

将 v_client 视图删除,删除视图不影响基表。

DROP VIEW finance.v_client_new;

 

图片

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
风晓L1
粉丝 1 资源 2038 + 关注 私信
最近热门资源
桌面通用(全架构)【在双系统环境下隐藏Windows启动菜单】操作指南  1554
银河麒麟桌面操作系统V10(SP1)2203-如何进行远程桌面互访?  1533
银河麒麟桌面操作系统【保留数据盘重装系统】  1487
麒麟系统各种原因开不了机解决(合集)  1212
统信桌面专业版【手动分区安装UOS系统】介绍  634
银河麒麟桌面操作系统 V10-SP1 双系统安装 efi 分区问题  596
统信系统安装(合集)  563
桌面通用(全架构)【rpm包转成deb包】操作方法  488
统启动异常几种类型(initramfs 模式)  466
最近下载排行榜
桌面通用(全架构)【在双系统环境下隐藏Windows启动菜单】操作指南 0
银河麒麟桌面操作系统V10(SP1)2203-如何进行远程桌面互访? 0
银河麒麟桌面操作系统【保留数据盘重装系统】 0
麒麟系统各种原因开不了机解决(合集) 0
统信桌面专业版【手动分区安装UOS系统】介绍 0
银河麒麟桌面操作系统 V10-SP1 双系统安装 efi 分区问题 0
统信系统安装(合集) 0
桌面通用(全架构)【rpm包转成deb包】操作方法 0
统启动异常几种类型(initramfs 模式) 0
作者收入月榜
1

prtyaa 收益393.72元

2

zlj141319 收益220.97元

3

1843880570 收益214.2元

4

IT-feng 收益213.03元

5

风晓 收益208.24元

6

777 收益172.82元

7

Fhawking 收益106.6元

8

信创来了 收益105.89元

9

克里斯蒂亚诺诺 收益91.08元

10

技术-小陈 收益79.5元

请使用微信扫码

加入交流群

请使用微信扫一扫!