发表于: 2017-11-12 11:41:51
1 898
今天完成的事情:测试一下不关闭连接池的时候,在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疯狂讲义
明天计划的事情:完成任务一的深度思考,总结一下任务一
遇到的问题:看师兄们的日报,几百万条一分多钟就差好了,不知道怎么那么快,可能还和我插入的数据内容有关吧
收获:索引对于庞大的数据量来说是把双刃剑,插入慢,但是查询块
评论