ITPub博客

首页 > 数据库 > 国内数据库 > GBase8s select join语句优化

GBase8s select join语句优化

原创 国内数据库 作者:DMD_202007 时间:2021-01-25 13:30:32 0 删除 编辑

GBase8s join 优化:optcompind=0

基于Benchmark5.0工具对GBase 8s数据库进行性能测试,针对join语句(SELECT c_discount, c_last, c_credit, w_tax  FROM bmsql_customer JOIN bmsql_warehouse ON (w_id = c_w_id)  WHERE c_w_id = ? AND c_d_id = ? AND c_id = ?)进行性能优化。

 

1、 select join 优化方式

jdbc 连接串 url中设置 optcompind=0

2、 select join 优化测试场景

测试环境(浪潮服务器):

操作系统:CentOS Linux release 7. 3 .1 611 (Core)

内核: Linux version 3.10.0- 514 .el7.x86_64

cpu : 4( 颗)*24(核)*2(超线程)

NUMA node0 CPU(s):     0-2 3 , 9 6- 119

NUMA node1 CPU(s):     2 4 - 47 , 120 -1 43

NUMA node 2 CPU(s):     48 - 71 , 144 -1 67

NUMA node 3 CPU(s):     72 - 95 , 168 -1 91

内存 : 2014G

硬盘 :傲腾硬盘 2*700G

网卡 : 万兆网卡 25000Mb/s

测试场景:

基于GBase 8s A2.6版本,TPCC测试模型500仓数据量、表为500分片(list分片),通过Benchmarksql5.0针对新订单业务第二条SQL语句(SELECT c_discount, c_last, c_credit, w_tax  FROM bmsql_customer JOIN bmsql_warehouse ON (w_id = c_w_id)  WHERE c_w_id = ? AND c_d_id = ? AND c_id = ?)进行性能测试过程中, 96并发下将optcompind从2修改为0后性能提升2-3倍。

针对第一条sql (SELECT d_tax, d_next_o_id FROM bmsql_district WHERE d_w_id = ? AND d_id = ? )及第一二条sql语句性能没有明显提升。

3、 具体优化方式

   修改Benchmarksql5.0测试工具工具配置文件props.gbase8s,将参数conn中新增或者修改 optcompind =0 (默认值为2)

4、 optcompind 参数

optcompind=0 :

查询优化器优先使用nested-loop join,而非sort-merge join or a hash join

optcompind=1 :

隔离级别为4(可重复读),优化方式同optcompind=0,其他隔离级别,优化方式同optcompind=2

optcompind=2 (默认值):

查询优化器根据估算成本选择join方式

 

官网:

 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69980677/viewspace-2752581/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-07-31

  • 博文量
    36
  • 访问量
    31944