发表于: 2017-11-12 11:41:51

1 899


今天完成的事情:测试一下不关闭连接池的时候,在Main函数里写1000个循环调用会出现什么情况。

测试一下连接DB中断后TryCatch是否能正常处理。

先把表的数据都清除

这里的truncate和delete的区别是,当删除数据后,用truncate的,重新新增数据ID会从0自增,而用delete的则会继续跟着之前删除的最后一条数据的ID自增

然后把循环的代码放到try里,我这里中断db的方法是当i=10时让sqlsession为空,这样就会报错,从而跳转到catch模块里

顺便深度思考:为什么要处理异常,Try/Catch应该在什么样的场景下使用,在真实的系统中,会出现网络中断,DB连接不上的错误吗?多久会发 生一次?

trycatch用在不可控,未知会报错的情况,避免把错误页面展示给用户。真是的系统肯定会,多久就不知道了

我本来是想在连接池配置最大连接数从而达到db中断的目的,可是百度没有我好理解的方法。。我想在datasource里加一个

<property name="maxpoolsize" value="10"/>

不过不行

数据库里插入100万条数据,对比建索引和不建索引的效率查别。再插入3000万条数据,然后是2亿条,别说话,用心去感受数据库的性能。

看师兄们的日报,jdbc速度要比mybatis快,用嵌套循环,外层比内层的次数要小。于是我用jdbc测试插入。可是太慢了。。好几分钟了才五万条,于是换成20000条。。

无索引,101s

把测试量弄小点,20000条,无索引的情况

有索引的情况,102s

看师兄们的日报,也普遍是说无索引的插入要快一些。

然后看下java疯狂讲义


明天计划的事情:完成任务一的深度思考,总结一下任务一

遇到的问题:看师兄们的日报,几百万条一分多钟就差好了,不知道怎么那么快,可能还和我插入的数据内容有关吧

收获:索引对于庞大的数据量来说是把双刃剑,插入慢,但是查询块



返回列表 返回列表
评论

    分享到