11.Benchmark SQL 数据库测试工具代码——事务Order-Status
欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/50357689
事务Order-status事务,是中等强度的只读,执行频率较低。
1. 输入数据
随机区域ID(1~10)
获取一个客户ID
入参:终端仓库ID,区域ID,客户ID,客户名字,是否通过名字查找。
2. 步骤一
如果通过名字查找
先获取该名字下的总数namecnt如下:
"SELECT count(*) AS namecntFROM benchmarksql.customer" +
" WHERE c_last = ? AND c_d_id = ? AND c_w_id = ?"
获取所有客户属性如下:
"SELECT c_balance, c_first,c_middle, c_id FROM benchmarksql.customer"+
" WHERE c_last = ?" +
" AND c_d_id = ?" +
" AND c_w_id = ?" +
" ORDER BY c_w_id, c_d_id, c_last, c_first"
获取列出客户的一个中间客户
如果通过客户ID获取,则直接执行如下:
"SELECT c_balance, c_first,c_middle, c_last" +
" FROM benchmarksql.customer"+
" WHERE c_id = ?" +
" AND c_d_id = ?" +
" AND c_w_id = ?"
3. 步骤二
从oorder表中获取o_id最大的一条记录。
"SELECT MAX(o_id) ASmaxorderid FROM benchmarksql.oorder"+
" WHERE o_w_id = ?" +
" AND o_d_id = ?" +
" AND o_c_id = ?"
4. 步骤三
获取该条记录的o_carrier_id,o_entry_id.
"SELECT o_carrier_id,o_entry_d" +
" FROM benchmarksql.oorder"+
" WHERE o_w_id = ?" +
" AND o_d_id = ?" +
" AND o_c_id = ?" +
" AND o_id = ?"
5. 步骤四
从表order_line中获取该订单的物品ID,供应仓库ID,各个订单物品数量,每个订单物品合理价格,发货时间。
"SELECT ol_i_id,ol_supply_w_id, ol_quantity," +
" ol_amount, ol_delivery_d"+
" FROM benchmarksql.order_line"+
" WHERE ol_o_id = ?" +
" AND ol_d_id =?" +
" AND ol_w_id = ?"
6. 步骤五print message
获取订单中每个物品,如果没发货则表示为99-99-9999
然后输出。
仓库ID
区域ID
客户ID
名字
客户余额
如果没有订单,输出该用户没有订单
如果有,则输出
订单ID
订单日期
订单发货ID
订单中的货物