GBase8s select join语句优化

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方式

 

官网:www.gbase.cn

 


请使用浏览器的分享功能分享到微信等