【基于openGauss5.0.0简单使用DBMind】

这篇具有很好参考价值的文章主要介绍了【基于openGauss5.0.0简单使用DBMind】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、环境说明

  1. 虚拟机:virtualbox
  2. 操作系统:openEuler 20.03 TLS
  3. 数据库:openGauss-5.0.0
  4. DBMind:dbmind-5.0.0
    注意环境是基于x86架构

二、初始化tpch测试数据

  1. 使用普通用户如omm登录服务器

  2. 执行如下命令下载测试数据库:

    git clone https://gitee.com/xzp-blog/tpch-kit.git
    
  3. 进入dbgen目录下,生成makefile文件:

    cd /opt/software/tpch-kit/dbgen/
    make -f Makefile
    
  4. 连接openGauss数据库,创建tpch的database:

    gsql -d postgres -p 15432 -r
    openGauss=# CREATE DATABASE tpch; 
    openGauss=# \q
    
  5. 创建8张测试表,执行如下命令:

    cd /opt/software/tpch-kit/dbgen
    gsql -d tpch -f dss.ddl
    

    执行完成后,登录数据库查看,会看到如下8张表:

    					List of relations
     Schema |   Name   | Type  | Owner |             Storage
    --------+----------+-------+-------+----------------------------------
     public | customer | table | omm   | {orientation=row,compression=no}
     public | lineitem | table | omm   | {orientation=row,compression=no}
     public | nation   | table | omm   | {orientation=row,compression=no}
     public | orders   | table | omm   | {orientation=row,compression=no}
     public | part     | table | omm   | {orientation=row,compression=no}
     public | partsupp | table | omm   | {orientation=row,compression=no}
     public | region   | table | omm   | {orientation=row,compression=no}
     public | supplier | table | omm   | {orientation=row,compression=no}
    
  6. 生成8张表测试数据,执行如下命令:

    cd /opt/software/tpch-kit/dbgen
    ./dbgen -vf -s 1
    

    执行结果如下:

    [omm@opengauss01 dbgen]$ ./dbgen -vf -s 1
    TPC-H Population Generator (Version 2.17.3)
    Copyright Transaction Processing Performance Council 1994 - 2010
    Generating data for suppliers table/
    Preloading text ... 100%
    done.
    Generating data for customers tabledone.
    Generating data for orders/lineitem tablesdone.
    Generating data for part/partsupplier tablesdone.
    Generating data for nation tabledone.
    Generating data for region tabledone.
    
  7. 编写导入数据脚本LoadData.sh:

    for i in `ls *.tbl`; do
      table=${i/.tbl/}
      echo "Loading $table..."
      sed 's/|$//' $i > /opt/software/tmp/$i
      gsql tpch -p 15432 -q -c "TRUNCATE $table"
      gsql tpch -p 15432 -c "\\copy $table FROM '/opt/software/tmp/$i' CSV DELIMITER '|'"
    done
    

    注意当前数据库端口为15432
    授予执行权限:

    [omm@opengauss01 dbgen]$ chmod +x LoadData.sh
    
  8. 导入数据到8张表中,执行导入脚本LoadData.sh:

    [omm@opengauss01 dbgen]$ sh LoadData.sh
    

    执行结果如下:

    Loading customer...
    Loading lineitem...
    Loading nation...
    Loading orders...
    Loading partsupp...
    Loading part...
    Loading region...
    Loading supplier...
    
  9. 检验数据是否已完成导入:

    gsql -d tpch -p 15432 -r
    tpch=# select count(*) from supplier;
    

    查看了supplier表的总记录数为:10000条。
    感兴趣可以全部查看8张表各自的总记录数,如下所示:

    至此,已完后TPCH测试数据的导入工作。

  10. 生成相关查询语句,为避免对原有查询语句脚本产生污染,将其复制到queries目录下:

    cd /opt/software/tpch-kit/dbgen
    cp dists.dss queries/
    cp qgen queries/
    cd queries/
    
  11. 编写生成查询语句脚本genda.sh,内容如下:

    cd /opt/software/tpch-kit/dbgen/queries
    vim genda.sh
    

    添加如下内容:

    for i in {1..22}; do
        ./qgen -d $i>$i_new.sql
     ./qgen -d $i_new | sed 's/limit -1//' | sed 's/limit 100//' | sed 's/limit 10//' | sed 's/limit 20//' | sed 's/day (3)/day/' > queries.sql
    done
    
  12. 执行脚本genda.sh:

    cd /opt/software/tpch-kit/dbgen
    sh genda.sh
    
  13. 验证生成的查询语句:

    cd /opt/software/tpch-kit/dbgen/queries
    ls -l queries.sql
    

    结果如下:

    [omm@opengauss01 queries]$ ls -l queries.sql
    -rw-r--r-- 1 omm dbgrp  12K Aug 29 23:49 queries.sql
    

    感兴趣可以查看下queries.sql内容,看下生成了哪些SQL语句
    至此,已完成了查询语句的生成。

  14. 为了测试AP性能,以omm用户上传tpch_ap_data.sql(可点击下载)到/opt/software目录下,然后执行如下命令执行该sql文件:

    gsql -d tpch -p 15432 -r -f /opt/software/tpch_ap_data.sql > /opt/software/tpch_ap_data.sql
    

    执行完成后,整个tpch数据库中相关表如下:

    tpch=# \d
                                            List of relations
     Schema |               Name                |   Type   | Owner |             Storage
    --------+-----------------------------------+----------+-------+----------------------------------
     public | address_dimension                 | table    | omm   | {orientation=row,compression=no}
     public | address_dimension_address_key_seq | sequence | omm   |
     public | customer                          | table    | omm   | {orientation=row,compression=no}
     public | date_dimension                    | table    | omm   | {orientation=row,compression=no}
     public | lineitem                          | table    | omm   | {orientation=row,compression=no}
     public | litemall_orders                   | table    | omm   | {orientation=row,compression=no}
     public | nation                            | table    | omm   | {orientation=row,compression=no}
     public | orders                            | table    | omm   | {orientation=row,compression=no}
     public | part                              | table    | omm   | {orientation=row,compression=no}
     public | partsupp                          | table    | omm   | {orientation=row,compression=no}
     public | region                            | table    | omm   | {orientation=row,compression=no}
     public | supplier                          | table    | omm   | {orientation=row,compression=no}
     public | user_dimension                    | table    | omm   | {orientation=row,compression=no}
     public | user_dimension_user_key_seq       | sequence | omm   |
    

三、使用DBMind索引推荐功能

  1. 第一种使用方式:
    • 以gsql登录到数据库中
      gsql -d tpch -p 15432 -r
      
    • 执行如下命令查看索引推荐
      select * from gs_index_advise('
      SELECT ad.province AS province, SUM(o.actual_price) AS GMV
        FROM litemall_orders o,
             address_dimension ad,
             date_dimension dd
       WHERE o.address_key = ad.address_key
         AND o.add_date = dd.date_key
         AND dd.year = 2020
         AND dd.month = 3
       GROUP BY ad.province
       ORDER BY SUM(o.actual_price) DESC');
      
      结果如下:
       schema |       table       |        column        | indextype
      --------+-------------------+----------------------+-----------
       public | litemall_orders   | address_key,add_date |
       public | address_dimension |                      |
       public | date_dimension    | year                 |
      (3 rows)
      
  2. 第二种使用方式:
    • 登录到DBMind的管理界面中,输入相关SQL语句:

      select * from customer where c_acctbal > 6819.74 order by c_acctbal desc limit 10;
      

      【基于openGauss5.0.0简单使用DBMind】,openGauss,openGauss

    • 点击【Advise Index】按钮,正常情况下会看到如下内容:
      【基于openGauss5.0.0简单使用DBMind】,openGauss,openGauss

四、使用DBMind实现SQL优化功能

  1. 登录到DBMind的管理界面中,输入相关SQL语句:
    【基于openGauss5.0.0简单使用DBMind】,openGauss,openGauss

其他的有关DBMind的功能,大家感兴趣,可自行测试,希望对您有所帮助~~~~~文章来源地址https://www.toymoban.com/news/detail-756117.html

到了这里,关于【基于openGauss5.0.0简单使用DBMind】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • openGauss学习笔记-11 openGauss 简单数据管理-INSERT INTO语句

    在创建一个表后,表中并没有数据,使用这个表之前,需要向表中插入数据。INSERT INTO语句用于向表中插入新记录。该语句可以插入一行数据也可以同时插入多行数据。 11.1 语法格式 11.2 参数说明 table_name 要插入数据的目标表名。 取值范围:已存在的表名。 column_name 目标表中

    2024年02月17日
    浏览(48)
  • ubuntu中如何用docker下载华为opengauss数据库(超简单)

    openGauss 是一款全面友好开放,携手伙伴共同打造的企业级开源关系型数据库。openGauss采用木兰宽松许可证v2发行,提供面向多核架构的极致性能、全链路的业务、数据安全、基于AI的调优和高效运维的能力。openGauss深度融合华为在数据库领域多年的研发经验,结合企业级场景

    2024年02月08日
    浏览(45)
  • AMD显卡 Ubuntu 部署Stable DIffusion WebUI基于Pytorch2.0.0 Rocm5.4.2

    Ubuntu 20.04.6 LTS Python系统自带3.8版本(虽然官方要求3.10.6,但是我3.8运行没发现问题) 显卡RX6500XT 4G Navi24核心 官网下载安装 在下载好的驱动文件目录,执行安装命令 先将源列表文件sources.list备份 打开sources.list文件 替换为国内镜像源,保存 这里我用阿里云的镜像源 https://d

    2024年02月02日
    浏览(43)
  • openGauss使用笔记

    从带标题行的以 , 分割的csv文件中导入数据到表中: postgres=# copy table_name FROM \\\'/home/data/1.csv\\\' csv header; 系统信息查询 查看关系占用的磁盘大小:pg_relation_size(oid/table_name) 查看表的物理路径:pg_relation_filepath(oid/table_name) pg_table_size等于pg_relation_size加上其它文件大小,例如fsm文件

    2024年02月09日
    浏览(33)
  • openGauss学习笔记-259 openGauss性能调优-使用Plan Hint进行调优-指定不使用全局计划缓存的Hint

    259.1 功能描述 全局计划缓存打开时,可以通过no_gpc Hint来强制单个查询语句不在全局共享计划缓存,只保留会话生命周期的计划缓存。 259.2 语法格式 说明: 本参数仅在enable_global_plancache=on时对PBE执行的语句生效。 259.3 示例 dbe_perf.global_plancache_status视图中无结果即没有计划被

    2024年04月13日
    浏览(39)
  • 在STS里使用Gradle编译Apache POI5.0.0

    1、到官方下面地址下载Gradle最新的版本 Gradle Distributions 2、解压后拷贝到D盘下D:gradle-8.3-rc-4里 3、配置环境变量 新建系统变量 GRADLE_HOME ,值为 路径  4、在 Path 中添加上面目录的 bin 文件路径 (可以用 %GRADLE_HOME%bin,也可以使用全绝对路径)  5、在cmd下进行测试 6、修改Gr

    2024年02月09日
    浏览(42)
  • 【云原生】使用Docker部署openGauss

    Docker是一个开源的应用容器引擎,让开发者可以把应用及依赖包打包到一个可移植的容器中,然后发布到流行的Linux或Windows机器或虚拟机上。openGauss是一款高性能、高安全、高可靠、高智能的企业级开源关系型数据库。openGauss 3.0.0 发布后,云和恩墨制作了docker版本。基于此,

    2024年01月18日
    浏览(36)
  • 使用Navicat连接opengauss数据库

    折腾了两个小时多才成功连上,在这分享一下我的经验,也仅仅是经验分享,有不足的地方欢迎大家在评论区补充交流 需要修改两个文件,一个是postgresql.conf,另一个是pg_hba.conf,这个文件在哪呢,可以输入以下指令查询 gs_om -t status --detail 查询结果为: 红色框框的目录下就

    2024年02月15日
    浏览(101)
  • CentOs虚拟机下openGauss的配置使用

    虚拟机平台 VMware 服务器端 CentOS 7.9 本机系统 Windows 10 部署版本 OpenGauss 1.1.0 虚拟机 VMware 本机已配置,该部分省略 CentOS 7.9 安装 下载镜像源 CentOS-7-x86_64-DVD-2009.iso 虚拟机中选中镜像进行安装 设置 内存设置为 2GB 处理器设置为 2 网络默认即可 声卡和打印机不使用直接进行了移

    2024年03月10日
    浏览(46)
  • 使用Linux远程连接OpenGauss数据库的步骤和方法

    openGauss是一款开源关系型数据库管理系统,采用木兰宽松许可证v2发行。openGauss内核深度融合华为在数据库领域多年的经验,结合企业级场景需求,持续构建竞争力特性. 结合cpolar 内网穿透工具,即可实现远程访问本地openGauss,实现远程访问,下面介绍从Linux安装到远程访问的方式

    2024年02月07日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包