gbase8s之sql优化篇,持续更新

本文介绍了GBase8s数据库中的优化器FirstRows和AllRows模式,提供了一系列SQL优化建议,包括使用特定函数、避免`SELECT*`、创建索引、分片处理大表、使用utf8编码和性能提示。
摘要由CSDN通过智能技术生成

1.优化器

First Rows:它与Choose方式是类似的,所不同的是当一个表有统计信息时,它将是以最快的方式返回查询的最先的几行,从总体上减少了响应时间

   All Rows:也就是我们所说的Cost的方式,当一个表有统计信息时,它将以最快的方式返回表的所有的行,从总体上提高查询的吞吐量。没有统计信息则走RBO的方式。(gbase8s默认方式)

如果发现All Rows模式下的sql慢了,请换First Rows试试。

dbaccess testdb -

SET OPTIMIZATION FIRST_ROWS;

set pdqpriority 96;

要执行的sql语句

2,sql优化,持续更新。。。。。。。。。。。。。。。。。。。。。。。。。。。

1)某些函数性能比较低

substr(t.terminal_id,1,6)换成t.terminal_id[1,6]

to_date()直接换成时间字符串'2024-12-11 09:54:12'

2)禁止select * 写法

3)where后的字段最好建立索引

4)超过500w行的表必须分片处理,按月建表,按天分片。

5)group by 后边跟的别名或者函数不生效,请用相应的位置序号代替

7)禁止在数据库中存储图片,文件等大的二进制数据

        因为备份和删除都很慢,很消耗io和内存,还有cpu

8)禁止selet 大量的blob和clob,byte和text;如果有blob和clob请转换成byte和text

        因为很消耗io和内存,还有cpu

9)最好使用utf8编码集

10)伪指令集

SELECT {+FIRST_ROWS Return the first screenful of rows as fast as possible} * FROM lga where name='9997xx';

#执行查询,返回详细执行执行计划

{+FIRST_ROWS,EXPLAIN Return the first screenful of rows as fast as possible}

#不执行查询,返回粗略执行执行计划

{+FIRST_ROWS,EXPLAIN,AVOID_EXECUTE Return the first screenful of rows as fast as possible}

11)相关的sql性能优化文章

Hint | GBase 8s Club

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小草儿799

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值