openGauss的数据处理能力调优实践

前文

众所周知,openGauss是TP处理数据库,擅长交易、转帐、支付的业务场景,因为它是一个单机的数据库,没有分布式处理能力,大部分人认为它的分析处理能力会很弱。其实openGauss在存储引擎支持列式,支持并行查询,支询分区,支持向量化,所以它的查询处理能力也是不弱的。

测试环境

配置条件

CPU 内存 版本 数据量
i7 8G openGauss6 66681536

测试SQL

#表结构 CREATE TABLE LINEITEM_C ( L_ORDERKEY INTEGER NOT NULL, L_PARTKEY INTEGER NOT NULL, L_SUPPKEY INTEGER NOT NULL, L_LINENUMBER INTEGER NOT NULL, L_QUANTITY DECIMAL(15,2) NOT NULL, L_EXTENDEDPRICE DECIMAL(15,2) NOT NULL, L_DISCOUNT DECIMAL(15,2) NOT NULL, L_TAX DECIMAL(15,2) NOT NULL, L_RETURNFLAG CHAR(1) NOT NULL, L_LINESTATUS CHAR(1) NOT NULL, L_SHIPDATE DATE NOT NULL, L_COMMITDATE DATE NOT NULL, L_RECEIPTDATE DATE NOT NULL, L_SHIPINSTRUCT CHAR(25) NOT NULL, L_SHIPMODE CHAR(10) NOT NULL, L_COMMENT VARCHAR(44) NOT NULL ) ; #执行SQL EXPLAIN ANALYZE SELECT L_RETURNFLAG, L_LINESTATUS, SUM(L_QUANTITY) AS SUM_QTY, SUM(L_EXTENDEDPRICE) AS SUM_BASE_PRICE, SUM(L_EXTENDEDPRICE * (1 - L_DISCOUNT)) AS SUM_DISC_PRICE, SUM(L_EXTENDEDPRICE * (1 - L_DISCOUNT) * (1 + L_TAX)) AS SUM_CHARGE, AVG(L_QUANTITY) AS AVG_QTY, AVG(L_EXTENDEDPRICE) AS AVG_PRICE, AVG(L_DISCOUNT) AS AVG_DISC, COUNT(*) AS COUNT_ORDER FROM LINEITEM_COPY WHERE L_SHIPDATE = DATE '1994-01-16' GROUP BY L_RETURNFLAG, L_LINESTATUS;