12.Benchmark SQL 数据库测试工具代码——事务Delivery
欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/50357693
事务Delivery是由处理10个新订单组成。每个订单发货处理是否读写交易。
1. 输入数据
随机的order发货ID(1~10)
Order_line发货日期。
2. 步骤一 select from new_order
订单ID数组。
进入循环:
从第一个区域开始new_order.no_d_id=1~10
从new_order表中获取no_o_id, 订单ID。
"SELECT no_o_id FROM benchmarksql.new_orderWHERE no_d_id = ?" +
" AND no_w_id = ?"+
" ORDER BY no_o_id ASC"
将no_o_id赋值给数组。
3. 步骤二 delete from new_order
然后将new_order表中的的记录删除,如下:
"DELETE FROMbenchmarksql.new_order" +
" WHERE no_d_id = ?"+
" AND no_w_id = ?"+
" AND no_o_id = ?"
4. 步骤三 select from oorder
从表oorder中,获取o_c_id(订单中客户ID)
"SELECT o_c_id" +
" FROM benchmarksql.oorder" +
" WHERE o_id = ?"+
" AND o_d_id = ?"+
" AND o_w_id = ?"
5. 步骤四 update oorder
然后更新oorder表中的o_carrier_id 为入参的随机1~10
"UPDATE benchmarksql.oorderSET o_carrier_id = ?" +
" WHERE o_id = ?"+
" AND o_d_id = ?"+
" AND o_w_id = ?”
6. 步骤五 update order_line
更新order_line表中的ol_delivery_d为当前时间,表示发货日期。
"UPDATEbenchmarksql.order_line SET ol_delivery_d = ?"+
" WHERE ol_o_id = ?"+
" AND ol_d_id = ?"+
" AND ol_w_id = ?"
7. 步骤六 select sum from order_line
从order_line表中获取订单总价格
"SELECT SUM(ol_amount) ASol_total" +
" FROM benchmarksql.order_line" +
" WHERE ol_o_id = ?"+
" AND ol_d_id = ?"+
" AND ol_w_id = ?"
8. 步骤七 update customer
更新customer包中的c_balance 的余额,c_delivery_cnt表示发货次数。
"UPDATE benchmarksql.customerSET c_balance = c_balance + ?" +
", c_delivery_cnt = c_delivery_cnt + 1" +
" WHERE c_id = ?"+
" AND c_d_id = ?"+
" AND c_w_id = ?"
9. 步骤八 print message
输出:
日期
仓库ID
货运ID
然后输出10个区域是否有订单发货,发货则输出,没发货也输出
设置交易结束时间。
步骤
步骤
步骤
步骤
步骤
步骤
步骤