开发者社区> walb呀> 正文

数据库测试生成脚本 - infobright

简介:
+关注继续查看
我这 对测试 mysql infobright 压缩 和 查询速度 进行测试
测试结果我会尽快登出的 
#!/usr/bin/python
import MySQLdb
#conn = MySQLdb.Connection('127.0.0.1', 'root', '', 'dmspi')
conn=MySQLdb.connect(host="127.0.0.1",port=3307,user="root",passwd="",db="test")
cur 
=  conn.cursor()
st 
= "create table testtime4 ( "

try :
        
for cc in xrange(1000):
                
if cc % 2 == 0 :
                        st 
+= 'a'+str(cc)+' varchar(20),\n'
                
else :
                        st 
+= 'a'+str(cc)+' int(20),\n'

        st 
+= 'a int(20)'
        st 
= st + ");"
        cur.execute(st)

        
# import sys
        # sys.exit(
1)
        
import random
        ccs 
= lambda : random.choice(['apple''pear''peach''orange''lemon',''])
        ccn 
= lambda : random.randint(0,10000)


        fd 
= open('/data/logs/dataFormat/test/t4.data','w')
        
for cc in xrange(10000000):
                st 
= ''
                ss 
= ccs()
                nn 
= str(ccn())
                
for cc in xrange(1000):
                        
if cc < 15 :
                                
if cc % 2 == 0 :
                                        st 
+= ss+'\t'
                                
else :
                                        st 
+= nn+'\t'
                        
else :
                                st 
+= '\t'
                st 
+= nn
                
print >>fd,st
        fd.close()

        # cur.execute(
'load data infile \'/data/logs/dataFormat/test/t4.data\'  into table testtime4 fields terminated by "\t";')
finally :
        cur.close()
        conn.close()
mysql infobright 测试结果报告:



一千万条数据导入花费时间:

mysql
> load data infile '/data/logs/dataFormat/test/t4.data'  into table testtime4 fields terminated by "\t";
Query OK, 
10000000 rows affected (36 min 47.00 sec)


测试一 :
1. 表属性 有 500 列 
2. 属性列都有值, 无 Null 数据
3. 原始文件大小 26G ,导入数据仓库 5G

部分测试时间:
select count(*from testtime where a0="pear" and a2="orange";
1 row in set (3.63 sec)

select a6,count(*from testtime group by a6 order by a6 desc ;
5 rows in set (2.24 sec)

mysql
> select count(*from testtime where a0="apple" ;
1 row in set (5.68 sec)


测试二 :
1. 表属性 有 1000 列 
2. 属性列前 15 列有值 , 其余后面都为 Null
3. 原始文件大小 10G ,导入数据仓库 215M

mysql
> select a0,count(*from testtime4 group by a0 ;
+--------+----------+
| a0     | count(*|
+--------+----------+
| lemon  |  1665543 | 
| peach  |  1666276 | 
| orange |  1667740 | 
| pear   |  1665910 | 
| apple  |  1665678 | 
| NULL   |  1668863 | 
+--------+----------+
6 rows in set (4.55 sec)


select * from testtime4 order by a6 desc limit 2000000,1 ;
1 row in set (3.30 sec)


本文转自博客园刘凯毅的博客,原文链接:数据库测试生成脚本 - infobright,如需转载请自行联系原博主。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
只用几行代码,我让模型『训练』加速了3倍以上!
只用几行代码,我让模型『训练』加速了3倍以上!
4 0
开发者们的节日,蕴含着成长的秘密 10.24 心语
开发者们的节日,蕴含着成长的秘密 | 10.24 心语
3 0
JDK1.8新特性(一):JDK1.8究竟有哪些新特性呢
JDK1.8新特性常常在面试中被问及的频率很高哦
6 0
JDK1.8新特性(二):为什么要关注JDK1.8
版本的不断更新、升级,无非是对bug的修复、新功能的增加、优化等,在JDK版本中,JDK1.8变得备受关注,也成了各大公司面试中常常被问及的话题。
9 0
SQL Server——SQL Server视图及索引技术
SQL Server——SQL Server视图及索引技术
3 0
SQL Server——SQL Server存储过程与exec简单使用
SQL Server——SQL Server存储过程与exec简单使用
5 0
Mycat实现单库水平分表、按月分表
Mycat实现单库分表,实现按月分表,实现时间戳按月分表
33 0
SQL Server——SQL Server触发器及事务和锁
SQL Server——SQL Server触发器及事务和锁
4 0
JDK1.8新特性(四):函数式接口
Lambda表达式是如何实现、定义,你可能不太清楚。本篇将会详细介绍 函数式接口 ,让你在使用JDK新特性时,做到心中有数,自信满满。
3 0
+关注
1038
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载