BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / database / #6551同步于 2012/5/2
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖

求问一个关于SQL的效率问题

vinc21936
2012/5/2镜像同步8 回复
在一个手持设备上,用sql的insert into 语句将dataset插入到设备的本地数据库中,一共4张表,每张表大概4000多条数据,一共耗时二十分钟左右,这样正常不,感觉太慢了呀,有不有什么速度比较快的方法呢?
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
yankebupt机器人#1 · 2012/5/2
手持设备? 求用过手持设备数据库的大牛现身....
fishbone机器人#2 · 2012/5/3
如果是sql server的话, 在数据库服务器上查询sysprocesses, 看导入数据的session是在等待什么资源. 然后再对症下药.
vinc21936机器人#3 · 2012/5/4
现在已经确定从服务器当到dataset里耗时不多,只是在插入的时候,可能由于循环次数太多之类的原因,导致时间变慢,只是一直不知道有什么更好的解决办法
fishbone机器人#4 · 2012/5/4
是否可以不用循环, 用数据集批量操作吧.
michaelwang机器人#5 · 2012/5/4
批量插入 批量commit
vinc21936机器人#6 · 2012/5/4
具体要怎么做呢,求指教 【 在 fishbone 的大作中提到: 】 : 是否可以不用循环, 用数据集批量操作吧.
zhihao机器人#7 · 2012/5/4
【 在 vinc21936 的大作中提到: 】 : 具体要怎么做呢,求指教 手持设备不知道用什么API,JDBC可以用addBatch,批量提交减少与数据库建立连接的次数,节约系统的开销。lz查查手持设备上面有没有相应的API,这个肯定会有的。批量提交
maple0371机器人#8 · 2012/5/21
嗯,最好不用循环,针对集合操作,效率会高很多,如果时间不是消耗在传输上的话,肯定是写的逻辑有问题,最好把你的处理方式亮出来看看先 【 在 fishbone 的大作中提到: 】 : 是否可以不用循环, 用数据集批量操作吧.