Maison > Article > base de données > 127168420条记录的SQL2005数据库性能测试,程序人生的一次飞跃(上亿条记录的查询测试、查询优化)
SELECT COUNT(1) FROM TXSJL 耗费一分钟多,创建所引耗费 1小时50分钟左右。 这么海量的数据,平生还是第一次折腾,虽然几年前在宁波海关的数据中心也见过上亿条的数据,但是没自己操作过。 为了产生上亿条的数据,折腾了整整1天时间,产生均匀分布的演示数
SELECT COUNT(1) FROM TXSJL 耗费一分钟多,创建所引耗费 1小时50分钟左右。
这么海量的数据,平生还是第一次折腾,免备案空间,虽然几年前在宁波海关的数据中心也见过上亿条的数据,但是没自己操作过。
为了产生上亿条的数据,香港服务器,折腾了整整1天时间,产生均匀分布的演示数据,每次执行一个SQL语句大该花费20分钟左右同时能产生200万条记录,连续产生了接近5-6次,有了2000万条演示数据,这些整整耗费了一上午。
中午去打台球,为了提高演示数据的速度,把表的索引先干掉否则产生演示数据太慢,干掉索引大概花费了20分钟左右,然后每次1000万条的演示数据插入,每次大概耗费20分钟,中午打好台球回来产生了2批次数据,然后数据库连接超时,下午又批量生成了7-8次,接近到4点左右产生了1亿多条演示数据。
接着发现服务器的硬盘空间要满了,没办法再产生演示数据了,先停止插入演示数据,重新整理数据库空间等,网站空间,腾出一些地方再继续产生索引,索引创建大概耗时1小时50分钟,下班时已经产生好演示数据及相关的优化索引等,准备就绪。
由于程序先前在1千多万条记录上优化过,到了1亿多条数据后,居然性能下降不明显,运行速度照样还是蛮快的开心啊,同时也佩服数据库的强大,真TMD的是有科技含量啊,1亿多条数据居然运算的还是很快,应该是其中的所引起了很大作用。
我经常形容自己一年死3回,升华3次,今天算其中的一次吧,算是今年真正升华了一次,平生第一次亲手折腾上亿条数据的表,做优化工作;虽然算不上专业的DBA,但非专业的DBA也难超越我了,哈哈。偷偷高兴一下,给自己鼓鼓劲儿。
其实亲身能体验一下上亿条数据,程序运行会怎么样?运算速度会怎么样?会遇到什么问题?要注意哪些环节?还是很有价值的。说得俗一些如何快速产生上亿条测试数据也是一门学问,呵呵,而且要分布均匀的哦。
数据文件占40G左右,所引占6G左右空间。