实验二十九 dbmind智能运维工具

一、安装dbmind实例

1.添加dbmind主机

2.安装dbmind实例。

3.dbmind纳管GaussDB实例

4.回到被纳管的实例详情页面,发现运维能力增强。

二、使用root登录GaussDB数据库,创建测试库。
sql 复制代码
su - Ruby

source gauss_env_file

gsql -d postgres -p 8000 -r

create database testdb;
三、构造实验数据。
sql 复制代码
gsql -d testdb -p 8000 -r

\timing

drop table if exists a;

create table a(id int,error varchar);

insert into a select x,x||'error' from generate_series(1,10000) x;

drop table if exists b;

create table b(id int,error varchar);

insert into b(id) select x from generate_series(1,10000) x;

analyze a;

analyze b;
四、DBMind智能诊断

1.执行以下业务SQL,用id字段关联,用a表中的error列的信覆盖b表中的error列信息,发现执行耗时>25s。

sql 复制代码
update b set error = (select a.error from a where a.id=b.id) where b.id in(select id from b);

2.登录TPOPS,单击左侧目录"实例管理",进入"实例列表"页面。

3.选择对应的GaussDB实例,单击实例名称进入实例详情页面。

4.单击"诊断优化 > 索引推荐",显示"索引推荐"页面,点击"自定义"选项卡。

5.按照推荐的方式,复制推荐创建索引的DDL,给对应的表添加索引。

sql 复制代码
testdb=# CREATE INDEX idx_a_id_error ON a(id, error);
CREATE INDEX
Time: 14.635 ms
testdb=# 

6.添加索引完成后,重新执行业务SQL,耗时<1s。

sql 复制代码
testdb=# update b set error = (select a.error from a where a.id=b.id) where b.id in(select id from b);
UPDATE 10000
Time: 84.504 ms
相关推荐
DarkAthena16 小时前
【GaussDB】数据静止状态下同一个SQL或同一个存储过程执行第6次报错的问题排查
数据库·sql·gaussdb
人工智能知识库2 天前
华为HCCDP-GaussDB工作级开发者题库(带详细解析)
华为·gaussdb·hccdp-gaussdb·工作级开发者认证
robinson19882 天前
测试崖山-DM8-GaussDB-OpenTeleDB数据库在长事务下表和索引是否膨胀
达梦·表膨胀·gaussdb·openteledb·崖山
Gauss松鼠会4 天前
【GaussDB】从 sqlplus 到 gsql:Shell 中执行 SQL 文件方案的迁移与改造
数据库·sql·database·gaussdb
Gauss松鼠会4 天前
【GaussDB】跨用户调用已授权的存储过程,可能会在存储过程内SQL的自定义函数表达式里报错没有权限
数据库·sql·database·gaussdb
云和数据.ChenGuang4 天前
openGauss赋能新能源汽车智能制造——比亚迪MES系统数据库国产化升级案例
数据库·汽车·opengauss·gaussdb·数据库权限管理
云和数据.ChenGuang5 天前
GaussDB 期末考试题与面试题
数据库·opengauss·gaussdb·数据库期末试题
Neolnfra7 天前
openGauss部署配置指南
数据库·opengauss·gaussdb
DarkAthena8 天前
【GaussDB】跨用户调用已授权的存储过程,可能会在存储过程内SQL的自定义函数表达式里报错没有权限
数据库·sql·gaussdb
DarkAthena10 天前
【GaussDB】从 sqlplus 到 gsql:Shell 中执行 SQL 文件方案的迁移与改造
数据库·sql·oracle·gaussdb