This is an automated email from the ASF dual-hosted git repository.
duanzhengqiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new f86496f Add SQLs of BenchmarkSQL for PostgreSQL into document (#13915)
f86496f is described below
commit f86496fc13c05aef1c7d3282b9d6ec062dd0935a
Author: 吴伟杰 <[email protected]>
AuthorDate: Fri Dec 3 16:27:52 2021 +0800
Add SQLs of BenchmarkSQL for PostgreSQL into document (#13915)
---
.../test/performance-test/benchmarksql-test.cn.md | 435 +++++++++++++++++++++
1 file changed, 435 insertions(+)
diff --git
a/docs/document/content/reference/test/performance-test/benchmarksql-test.cn.md
b/docs/document/content/reference/test/performance-test/benchmarksql-test.cn.md
index d73c563..47334cd 100644
---
a/docs/document/content/reference/test/performance-test/benchmarksql-test.cn.md
+++
b/docs/document/content/reference/test/performance-test/benchmarksql-test.cn.md
@@ -278,3 +278,438 @@ rules:
props:
algorithm-expression: ds_${ol_w_id & 3}
```
+
+## BenchmarkSQL 5.0 PostgreSQL 语句列表
+
+### Create tables
+
+```sql
+create table bmsql_config (
+ cfg_name varchar(30) primary key,
+ cfg_value varchar(50)
+);
+
+create table bmsql_warehouse (
+ w_id integer not null,
+ w_ytd decimal(12,2),
+ w_tax decimal(4,4),
+ w_name varchar(10),
+ w_street_1 varchar(20),
+ w_street_2 varchar(20),
+ w_city varchar(20),
+ w_state char(2),
+ w_zip char(9)
+);
+
+create table bmsql_district (
+ d_w_id integer not null,
+ d_id integer not null,
+ d_ytd decimal(12,2),
+ d_tax decimal(4,4),
+ d_next_o_id integer,
+ d_name varchar(10),
+ d_street_1 varchar(20),
+ d_street_2 varchar(20),
+ d_city varchar(20),
+ d_state char(2),
+ d_zip char(9)
+);
+
+create table bmsql_customer (
+ c_w_id integer not null,
+ c_d_id integer not null,
+ c_id integer not null,
+ c_discount decimal(4,4),
+ c_credit char(2),
+ c_last varchar(16),
+ c_first varchar(16),
+ c_credit_lim decimal(12,2),
+ c_balance decimal(12,2),
+ c_ytd_payment decimal(12,2),
+ c_payment_cnt integer,
+ c_delivery_cnt integer,
+ c_street_1 varchar(20),
+ c_street_2 varchar(20),
+ c_city varchar(20),
+ c_state char(2),
+ c_zip char(9),
+ c_phone char(16),
+ c_since timestamp,
+ c_middle char(2),
+ c_data varchar(500)
+);
+
+create sequence bmsql_hist_id_seq;
+
+create table bmsql_history (
+ hist_id integer,
+ h_c_id integer,
+ h_c_d_id integer,
+ h_c_w_id integer,
+ h_d_id integer,
+ h_w_id integer,
+ h_date timestamp,
+ h_amount decimal(6,2),
+ h_data varchar(24)
+);
+
+create table bmsql_new_order (
+ no_w_id integer not null,
+ no_d_id integer not null,
+ no_o_id integer not null
+);
+
+create table bmsql_oorder (
+ o_w_id integer not null,
+ o_d_id integer not null,
+ o_id integer not null,
+ o_c_id integer,
+ o_carrier_id integer,
+ o_ol_cnt integer,
+ o_all_local integer,
+ o_entry_d timestamp
+);
+
+create table bmsql_order_line (
+ ol_w_id integer not null,
+ ol_d_id integer not null,
+ ol_o_id integer not null,
+ ol_number integer not null,
+ ol_i_id integer not null,
+ ol_delivery_d timestamp,
+ ol_amount decimal(6,2),
+ ol_supply_w_id integer,
+ ol_quantity integer,
+ ol_dist_info char(24)
+);
+
+create table bmsql_item (
+ i_id integer not null,
+ i_name varchar(24),
+ i_price decimal(5,2),
+ i_data varchar(50),
+ i_im_id integer
+);
+
+create table bmsql_stock (
+ s_w_id integer not null,
+ s_i_id integer not null,
+ s_quantity integer,
+ s_ytd integer,
+ s_order_cnt integer,
+ s_remote_cnt integer,
+ s_data varchar(50),
+ s_dist_01 char(24),
+ s_dist_02 char(24),
+ s_dist_03 char(24),
+ s_dist_04 char(24),
+ s_dist_05 char(24),
+ s_dist_06 char(24),
+ s_dist_07 char(24),
+ s_dist_08 char(24),
+ s_dist_09 char(24),
+ s_dist_10 char(24)
+);
+```
+
+### Create indexes
+
+```sql
+alter table bmsql_warehouse add constraint bmsql_warehouse_pkey
+ primary key (w_id);
+
+alter table bmsql_district add constraint bmsql_district_pkey
+ primary key (d_w_id, d_id);
+
+alter table bmsql_customer add constraint bmsql_customer_pkey
+ primary key (c_w_id, c_d_id, c_id);
+
+create index bmsql_customer_idx1
+ on bmsql_customer (c_w_id, c_d_id, c_last, c_first);
+
+alter table bmsql_oorder add constraint bmsql_oorder_pkey
+ primary key (o_w_id, o_d_id, o_id);
+
+create unique index bmsql_oorder_idx1
+ on bmsql_oorder (o_w_id, o_d_id, o_carrier_id, o_id);
+
+alter table bmsql_new_order add constraint bmsql_new_order_pkey
+ primary key (no_w_id, no_d_id, no_o_id);
+
+alter table bmsql_order_line add constraint bmsql_order_line_pkey
+ primary key (ol_w_id, ol_d_id, ol_o_id, ol_number);
+
+alter table bmsql_stock add constraint bmsql_stock_pkey
+ primary key (s_w_id, s_i_id);
+
+alter table bmsql_item add constraint bmsql_item_pkey
+ primary key (i_id);
+```
+
+### New Order 业务
+
+stmtNewOrderSelectWhseCust
+```sql
+UPDATE bmsql_district
+ SET d_next_o_id = d_next_o_id + 1
+ WHERE d_w_id = ? AND d_id = ?
+```
+
+stmtNewOrderSelectDist
+```sql
+SELECT d_tax, d_next_o_id
+ FROM bmsql_district
+ WHERE d_w_id = ? AND d_id = ?
+ FOR UPDATE
+```
+
+stmtNewOrderUpdateDist
+```sql
+UPDATE bmsql_district
+ SET d_next_o_id = d_next_o_id + 1
+ WHERE d_w_id = ? AND d_id = ?
+```
+
+stmtNewOrderInsertOrder
+```sql
+INSERT INTO bmsql_oorder (
+ o_id, o_d_id, o_w_id, o_c_id, o_entry_d,
+ o_ol_cnt, o_all_local)
+VALUES (?, ?, ?, ?, ?, ?, ?)
+```
+
+stmtNewOrderInsertNewOrder
+```sql
+INSERT INTO bmsql_new_order (
+ no_o_id, no_d_id, no_w_id)
+VALUES (?, ?, ?)
+```
+
+stmtNewOrderSelectStock
+```sql
+SELECT s_quantity, s_data,
+ s_dist_01, s_dist_02, s_dist_03, s_dist_04,
+ s_dist_05, s_dist_06, s_dist_07, s_dist_08,
+ s_dist_09, s_dist_10
+ FROM bmsql_stock
+ WHERE s_w_id = ? AND s_i_id = ?
+ FOR UPDATE
+```
+
+stmtNewOrderSelectItem
+```sql
+SELECT i_price, i_name, i_data
+ FROM bmsql_item
+ WHERE i_id = ?
+```
+
+stmtNewOrderUpdateStock
+```sql
+UPDATE bmsql_stock
+ SET s_quantity = ?, s_ytd = s_ytd + ?,
+ s_order_cnt = s_order_cnt + 1,
+ s_remote_cnt = s_remote_cnt + ?
+ WHERE s_w_id = ? AND s_i_id = ?
+```
+
+stmtNewOrderInsertOrderLine
+```sql
+INSERT INTO bmsql_order_line (
+ ol_o_id, ol_d_id, ol_w_id, ol_number,
+ ol_i_id, ol_supply_w_id, ol_quantity,
+ ol_amount, ol_dist_info)
+VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
+```
+
+### Payment 业务
+
+stmtPaymentSelectWarehouse
+```sql
+SELECT w_name, w_street_1, w_street_2, w_city,
+ w_state, w_zip
+ FROM bmsql_warehouse
+ WHERE w_id = ?
+```
+
+stmtPaymentSelectDistrict
+```sql
+SELECT d_name, d_street_1, d_street_2, d_city,
+ d_state, d_zip
+ FROM bmsql_district
+ WHERE d_w_id = ? AND d_id = ?
+```
+
+stmtPaymentSelectCustomerListByLast
+```sql
+SELECT c_id
+ FROM bmsql_customer
+ WHERE c_w_id = ? AND c_d_id = ? AND c_last = ?
+ ORDER BY c_first
+```
+
+stmtPaymentSelectCustomer
+```sql
+SELECT c_first, c_middle, c_last, c_street_1, c_street_2,
+ c_city, c_state, c_zip, c_phone, c_since, c_credit,
+ c_credit_lim, c_discount, c_balance
+ FROM bmsql_customer
+ WHERE c_w_id = ? AND c_d_id = ? AND c_id = ?
+ FOR UPDATE
+```
+
+stmtPaymentSelectCustomerData
+```sql
+SELECT c_data
+ FROM bmsql_customer
+ WHERE c_w_id = ? AND c_d_id = ? AND c_id = ?
+```
+
+stmtPaymentUpdateWarehouse
+```sql
+UPDATE bmsql_warehouse
+ SET w_ytd = w_ytd + ?
+ WHERE w_id = ?
+```
+
+stmtPaymentUpdateDistrict
+```sql
+UPDATE bmsql_district
+ SET d_ytd = d_ytd + ?
+ WHERE d_w_id = ? AND d_id = ?
+```
+
+stmtPaymentUpdateCustomer
+```sql
+UPDATE bmsql_customer
+ SET c_balance = c_balance - ?,
+ c_ytd_payment = c_ytd_payment + ?,
+ c_payment_cnt = c_payment_cnt + 1
+ WHERE c_w_id = ? AND c_d_id = ? AND c_id = ?
+```
+
+stmtPaymentUpdateCustomerWithData
+```sql
+UPDATE bmsql_customer
+ SET c_balance = c_balance - ?,
+ c_ytd_payment = c_ytd_payment + ?,
+ c_payment_cnt = c_payment_cnt + 1,
+ c_data = ?
+ WHERE c_w_id = ? AND c_d_id = ? AND c_id = ?
+```
+
+stmtPaymentInsertHistory
+```sql
+INSERT INTO bmsql_history (
+ h_c_id, h_c_d_id, h_c_w_id, h_d_id, h_w_id,
+ h_date, h_amount, h_data)
+VALUES (?, ?, ?, ?, ?, ?, ?, ?)
+```
+
+### Order Status 业务
+
+stmtOrderStatusSelectCustomerListByLast
+```sql
+SELECT c_id
+ FROM bmsql_customer
+ WHERE c_w_id = ? AND c_d_id = ? AND c_last = ?
+ ORDER BY c_first
+```
+
+stmtOrderStatusSelectCustomer
+```sql
+SELECT c_first, c_middle, c_last, c_balance
+ FROM bmsql_customer
+ WHERE c_w_id = ? AND c_d_id = ? AND c_id = ?
+```
+
+stmtOrderStatusSelectLastOrder
+```sql
+SELECT o_id, o_entry_d, o_carrier_id
+ FROM bmsql_oorder
+ WHERE o_w_id = ? AND o_d_id = ? AND o_c_id = ?
+ AND o_id = (
+ SELECT max(o_id)
+ FROM bmsql_oorder
+ WHERE o_w_id = ? AND o_d_id = ? AND o_c_id = ?
+ )
+```
+
+stmtOrderStatusSelectOrderLine
+```sql
+SELECT ol_i_id, ol_supply_w_id, ol_quantity,
+ ol_amount, ol_delivery_d
+ FROM bmsql_order_line
+ WHERE ol_w_id = ? AND ol_d_id = ? AND ol_o_id = ?
+ ORDER BY ol_w_id, ol_d_id, ol_o_id, ol_number
+```
+
+### Stock level 业务
+
+stmtStockLevelSelectLow
+```sql
+SELECT count(*) AS low_stock FROM (
+ SELECT s_w_id, s_i_id, s_quantity
+ FROM bmsql_stock
+ WHERE s_w_id = ? AND s_quantity < ? AND s_i_id IN (
+ SELECT ol_i_id
+ FROM bmsql_district
+ JOIN bmsql_order_line ON ol_w_id = d_w_id
+ AND ol_d_id = d_id
+ AND ol_o_id >= d_next_o_id - 20
+ AND ol_o_id < d_next_o_id
+ WHERE d_w_id = ? AND d_id = ?
+ )
+ ) AS L
+```
+
+### Delivery BG 业务
+
+stmtDeliveryBGSelectOldestNewOrder
+```sql
+SELECT no_o_id
+ FROM bmsql_new_order
+ WHERE no_w_id = ? AND no_d_id = ?
+ ORDER BY no_o_id ASC
+```
+
+stmtDeliveryBGDeleteOldestNewOrder
+```sql
+DELETE FROM bmsql_new_order
+ WHERE no_w_id = ? AND no_d_id = ? AND no_o_id = ?
+```
+
+stmtDeliveryBGSelectOrder
+```sql
+SELECT o_c_id
+ FROM bmsql_oorder
+ WHERE o_w_id = ? AND o_d_id = ? AND o_id = ?
+```
+
+stmtDeliveryBGUpdateOrder
+```sql
+UPDATE bmsql_oorder
+ SET o_carrier_id = ?
+ WHERE o_w_id = ? AND o_d_id = ? AND o_id = ?
+```
+
+stmtDeliveryBGSelectSumOLAmount
+```sql
+SELECT sum(ol_amount) AS sum_ol_amount
+ FROM bmsql_order_line
+ WHERE ol_w_id = ? AND ol_d_id = ? AND ol_o_id = ?
+```
+
+stmtDeliveryBGUpdateOrderLine
+```sql
+UPDATE bmsql_order_line
+SET ol_delivery_d = ?
+WHERE ol_w_id = ? AND ol_d_id = ? AND ol_o_id = ?
+```
+
+stmtDeliveryBGUpdateCustomer
+```sql
+UPDATE bmsql_customer
+ SET c_balance = c_balance + ?,
+ c_delivery_cnt = c_delivery_cnt + 1
+ WHERE c_w_id = ? AND c_d_id = ? AND c_id = ?
+```