- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4BenchmarkSQL数据库测试工具代码关于导入类.
4.Benchmark SQL 数据库测试工具代码——关于导入类导入类LoadData 继续与配置类jTPCCConfig。开始先设置私有静态变量,包括JDBC 协议变量,通用变量。主函数MAIN设置warehouse变量,默认继承于配置类中的静态值。如果参数有有numwarehouses,那么紧接其后的参数就是新的warehouse值。此外还可以设置参数 filelocation,如果存在该参数,紧接其后的参数就是新的filelocation值。如果没有设置filelocation,则调用initJDBC函数。完事后,初始化随机种子。接着输出开始加载数据的时间。然后调用loadWhse 函数加载warehouse然后调用loadItem然后调用loadStock然后调用loadDist然后调用loadCust然后调用loadOrder然后输出结束时间。最后根据需要(因为可能没有进行连接)关闭JDBC连接。initJDBCinitJDBC函数,先加载属性文件获取属性文件中的配置,driver,conn ,user,password加载driver变量设置的数据库驱动。然后获得连接 conn,关闭自动提交。然后在数据库中创建语法对象(stmt = conn.createStatement() ),接着创建9个表的预准备语句对象。如果出错就回滚。loadWhseWAREHOUSE表不会随着测试而变化。先输出导入多少WAREHOUSE。如果设置了filelocation,则导出到warehouse.csv文件。先实例化warehouse类。然后根据warehouse数量,进行循环导入数据。其中调用jTPCCUtil中的函数randomNumber和randomStr.然后调用executeUpdate来执行SQL语句。loadItem导入物品ITEM。共10 0000个物品。这个表空间测试时候不会增加。Item名字随机产生i_price 物品价格随机1~100的浮点。其中 i_data 列:90%的概率 随机26~50长度的字符串 10%的概率 中间带字符串 ORIGINALI_im_id是1~10000 随机值。执行SQL的时候,为了提高性能,也是每次执行10000个。loadStockstock的记录数量是 warehouse乘以10 0000. 测试过程不会发生变化。然后循环插入,每个物品的物品需要设置warehouse 的ID和item的ID。数量是随机10~100.表中s_data列,90%概率是随机长度26~50的字符串 10%概率是字符串中间包含ORIGINAL字符此外列s_dist_01是随机长度为24的字符串。为了提高效率,进行批量插入,每次处理10000行。loadDistdistrict表在测试过程中刚也不会变化。数量为WAREHOUSE数量乘以10根据WAREHOUSE_ID和 D_ID 来插入行,其中 列 d_tax 是0~0.2 列 d_name 是 长度为6~10的字符串 列 d_street_1是长度为10~20的字符串 列 d_state 是长度为3的字符串 列 d_zip 都是 123456789然后执行语句。loadCust加载CUSTOMER表和HISTORY表。其中表HISTORY随着测试会发生变化,CUSTOMER表不会变化。每插入一行到CUSTOMER,需要插入一行到HISTORY表中。数量时WAREHOUSE乘以10 乘以3000.(每个WAREHOUSE有10个分区,每个分区服务3000个客户)主要有列c_id,c_d_id,c_w_id,此外c_discount 是0.01%到50%。C_credit列,10% 概率是BC( Bad Credit),90%概率是GC(Good Credit)表history中的列 h_c_id ,h_c_d_id,h_c_w_id,h_d_id,h_w_id和 customer基本一致。提高效率也是10000个10000个进行插入执行。loadOrder加载ORDERLINE,OORDER,NEW_ORDER表。这三个表在测试过程中发生变化。该函数调用jdbcIO类。jdbcIO类主要实现插入ORDER、NEW_ORDER、ORDERLINE表中。列 o_ol_cnt 是随机5~15,表示订单中物品数量。都插入到oorder表中。如果用户ID 大于2100时候,插入到new_order表中。(30%)此外根据订单中数量(1条插入到order表中平均对应10条),插入到order_line 表,其中ol_i_id 是1~10 0000中的随机数,ol_o_id是客户id.如果 ol_o_id小于2101(70%),则设置变量 ol_amount=0,
您可能关注的文档
最近下载
- 急诊与灾难医学-第二十二章 人为灾难的医学救援.pptx
- 030904《项目实施进度里程碑确认单》.xlsx VIP
- 治疗篇第六章骨伤科四肢病证推拿讲解.ppt
- 2025年广西机场管理集团有限责任公司人员招聘笔试备考题库及答案解析.docx
- 七年级下册英语课件Unit 3《Keep Fit》(Section A 1a-1d).pptx VIP
- 福特嘉年华说明书.pdf
- 医院医疗设备管理员及使用人员岗位职责.pptx VIP
- 江苏省小学科学实验知识竞赛题库附答案.pdf VIP
- 教科版(2017秋)四年级下册科学期末复习训练题(含答案).docx VIP
- 八年级下数学期中测试题(a卷).pdf VIP
文档评论(0)