GaussDB AI新特性:gs_index_advise推荐索引

GaussDB的AI新特性,可以把SQL文本嵌套在函数中,数据库会返回一个创建合适索引的列

gs_index_advise(text)
描述:针对单条查询语句推荐索引。
参数: SQL语句字符串
返回值类型: record

 

 一、通常的SQL优化会通过参数调优的方式进行调整,例如如下参数

set enable_fast_query_shipping = off;

set enable_stream_operator = on;

 

二、创建数据库数据

复制代码
--建表

create table tb_user(stu_no int,stu_name varchar(32),age int,hobby_type int) distribute hash(age);

--插入数据

insert into tb_user select id,'xiaoming'||(random()*60+10)::int,

(random()*60+10)::int,

(random()*5+1)::int

from (select generate_series(1,100000)id)tb_user;
复制代码

 

三、收集tb_user的统计信息

analyze tb_user;

 

四、为下面两个查询语句创建索引,让执行计划和索引最合理

SQL1:explain analyze select * from tb_user where age=29 and stu_name='xiaoming';
SQL2:explain analyze select * from tb_user where stu_no=100 and age=29;

 

 

 

复制代码

--SQL1

select gs_index_advise('select * from tb_user where age=29 and stu_name=’'xiaoming'’');

create index age_name on tb_user(stu_name,age);

--SQL2

select gs_index_advise('select * from tb_user where stu_no=100 and age=29');

create index age_no on tb_user(stu_no,age);

复制代码

 

 

 

posted @   我爱睡莲  阅读(81)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2021-07-05 windows如何拉取一个文件夹下的所有文件名
点击右上角即可分享
微信分享提示