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;

openGauss的索引与视图相关推荐

  1. access 导入 txt sql语句_从零开始学习 MySQL 系列索引、视图、导入和导出

    阅读本文大概需要 8 分钟 前言上篇文章我们学习了数据库和数据表操作语句,今天我们学习下数据库索引,视图,导入和导出的知识.作为基础篇,不会涉及到关于索引和视图的高级应用和核心概念,但是基本操作大家会 ...

  2. mysql导入dat文件_从零开始学习 MySQL 系列--索引、视图、导入和导出

    前言 上篇文章我们学习了数据库和数据表操作语句,今天我们学习下数据库索引,视图,导入和导出的知识. 作为基础篇,不会涉及到关于索引和视图的高级应用和核心概念,但是基本操作大家会了解,尤其是关于索引的内 ...

  3. MySQL中索引与视图的用法与区别详解

    索引与视图是我们在日常使用mysql必不可少的一部分,最近在学习中看到一本书中关于这方法写的不错,所以这篇文章主要给大家介绍了关于MySQL中索引与视图的使用与区别的相关资料,需要的朋友可以参考借鉴, ...

  4. 数据库原理与应用(SQL Server)笔记 第五章 索引和视图

    目录 前言 一.索引 (一)索引的概念 (二)索引的分类 (三)索引的操作 1.创建 2.查看 2.修改 3.删除 二.视图 (一)视图的概念 (二)视图的分类 (三)视图的操作 1.创建 2.查询 ...

  5. mysqldump导出数据库视图_mysql数据库的基本操作:索引、视图,导入和导出,备份和恢复...

    1.索引: 索引是一种与表有关的结构,它的作用相当于书的目录,可以根据目录中的页码快速找到所需的内容. 当表中有大量记录时,若要对表进行查询,没有索引的情况是全表搜索:将所有记录一一取出,和查询条件进 ...

  6. ElasticSearch-Hadoop:从Hadoop到ElasticSearch索引产品视图计数和客户顶部搜索查询

    这篇文章涵盖了如何使用ElasticSearch-Hadoop从Hadoop系统读取数据并在ElasticSearch中对其进行索引. 它涵盖的功能是在最近n天中为每个客户的产品浏览量计数和热门搜索查 ...

  7. bcp out 带列名导出_从零开始学习 MySQL 系列索引、视图、导入和导出

    阅读本文大概需要 8 分钟 前言上篇文章我们学习了数据库和数据表操作语句,今天我们学习下数据库索引,视图,导入和导出的知识.作为基础篇,不会涉及到关于索引和视图的高级应用和核心概念,但是基本操作大家会 ...

  8. Java数据库篇8——索引、视图、存储过程、触发器

    Java数据库篇8--索引.视图.存储过程.触发器 1.索引 1.1.索引是什么 在数据库表中,对字段建立索引可以大大提高查询速度.通过善用这些索引,可以令MySQL的查询和 运行更加高效 如果合理的 ...

  9. MySQL教程——2 中级篇(索引、视图、存储过程)

    1. Linux 系统安装MySQL 1.1 下载Linux 安装包 https://dev.mysql.com/downloads/mysql/5.7.html#downloads 1.2 cent ...

最新文章

  1. IT职场人生系列之二十二:如何学习新语言(二)
  2. 【博士论文】视觉语言交互中的视觉推理研究
  3. 银行业务常用基本概念
  4. layer.js 使用
  5. linux arp 老化时间,Linux实现的ARP缓存老化时间原理解析
  6. Mybatis入门(一)
  7. c语言程序设计的常用算法,《C语言程序设计的常用算法.doc
  8. 714. 买卖股票的zui佳时机含手续费(JavaScript)
  9. Tensorflow(r1.4)API--tf.nn.conv2d详解
  10. Unity3D 热更新方案(集合各位专家的汇总)
  11. 关于如果减少勒索病毒的侵扰:
  12. python不可以安装的软件包_安装好的python包竟然无法import
  13. PDF.js插件 | 在线PDF阅读插件,支持手机在线阅读
  14. 学习C语言目标及规划
  15. 彻底搞懂Android文件存储---内部存储,外部存储以及各种存储路径解惑
  16. 为什么你该培养多维度竞争力?
  17. 支付宝信用卡还款即将收费,3个方法免手续费!
  18. HBase 事务性 (Transaction)
  19. 谷粒商城 Day09 首页分类与SpEL动态缓存切面
  20. myet: 练习英语口语不错

热门文章

  1. 自适应网格搜索的多目标粒子群优化(MOPSO)
  2. 基于java的校园外卖系统的设计与实现
  3. 新概念英语第二册单词
  4. sklearn中的k折交叉验证
  5. 5月6阴阳师服务器维护,阴阳师5月6日正式服维护更新内容:跨区斗技聊天开启 僵尸寮会解散...
  6. 从零开发短视频电商 30分钟未支付订单自动关闭、七天自动确认收货等延迟任务问题
  7. Phoenix安装、入门案例
  8. 求和:某一天, calfcamel 问二哥,有道数学题怎么做呀?二哥看了一下说我不会呀,于是二哥找到了你,请你帮他解决这个问题,这样二哥就可以鄙视 calfcamel 数学菜了...
  9. 频频投资机器人的“字节”,想要如何“跳动”?
  10. 2019澳大利亚网球公开赛即将开赛