1
Tom008 2017-03-04 13:33:27 +08:00 via iPhone
这情况不是要数据库连接池吗
|
2
m31271n 2017-03-04 13:37:02 +08:00
不需要频繁的 open / close 连接,因为这很消耗系统资源。
我的做法是:在内部缓存池中维护数据连接,当不再需要某连接时,就将其放回到连接池中,供下一个请求使用。 关于停止工作的问题:对系统资源做些监控,跟数据库日志的时间和信息进行对比,来定位为题。 |
3
Famio OP |
4
huiyue 2017-03-04 14:30:29 +08:00
不需要事务?
|
5
zeraba 2017-03-04 17:43:50 +08:00 via Android
用事务啊
|
6
ebony0319 2017-03-04 17:51:33 +08:00
关键字:连接池。
还有一个就是静态类,只打开一次。 |
7
chaleaoch 2017-03-04 18:14:40 +08:00
搭楼请教另一个问题, 什么是 cursor,游标?
cursor 存在的意义是什么. 例如我 connect 一个 db 之后,还要在获取一个 cursor,然后用这个句柄去 execute 或者 fetchall 什么的.最后 close cursor,close db, 在这里我们会发现,cursor 和 db 的功能是重复的.open/connect 了两遍,close 了两遍. 是不是有什么我不知道的高级用法?导致这个游标是有存在意义的? 谢谢. |
8
greatonce 2017-03-04 18:27:27 +08:00
你应该多想想 “复用” 是什么意思
|
9
m31271n 2017-03-04 18:48:13 +08:00 1
@chaleaoch 个人理解,游标是数据库中的一种控制结构,用来遍历数据库中的记录。类似于编程语言的迭代器。
举例:一次查询有 10W 条记录,这 10W 条记录都一次读出来,还是一点一点地读呢? (重新开帖,搭什么车) |
11
m31271n 2017-03-04 19:26:14 +08:00 1
|
14
ebony0319 2017-03-04 22:04:28 +08:00
@chaleaoch 游标有点类似于 reader ,一行行读取。将查询的数据一次性装入内存当然更快,但是数据行很多这时候游标的意义就出来了。
|
15
qile1 2017-03-05 15:50:04 +08:00 via Android
楼上有没有具体示例,参考下,现在我也是查询每次都打开关闭数据库一次
|