1
wxyz 2017-10-23 16:13:02 +08:00
看到光标的我表示很方。。。还以为打字的那个光标呢~
|
2
noNOno 2017-10-23 16:13:48 +08:00
你只需要百度一下
|
3
forestyuan 2017-10-23 16:14:57 +08:00
游标会占用资源,所以用完需要关闭。
|
5
forestyuan 2017-10-23 16:16:34 +08:00 1
在关闭连接之前关闭游标是一个 good practice
|
6
wwjvtwoex OP @forestyuan 如果立即断开数据库连接,是否就不用关闭了
|
7
yulitian888 2017-10-23 16:32:13 +08:00
把游标视为一个指针,琢磨琢磨,指针不释放是不是很容易内存溢出哈? DBMS 可不是高级语言那种自带垃圾回收机制的哦
|
8
yulitian888 2017-10-23 16:33:42 +08:00
@wwjvtwoex #6 接上条,直接断开数据库连接套用到指针上,就该叫做“野指针”喽,嚯嚯
|
9
jy02201949 2017-10-23 16:38:01 +08:00
这东西把数据读到内存里跑所以很快啊,不关闭不就一直占着内存吗
|
10
noNOno 2017-10-23 16:40:54 +08:00
会话结束会自动清理游标.
但如果用连接池,会话不结束就会导致资源不释放 |
11
forestyuan 2017-10-23 17:01:24 +08:00
@wwjvtwoex 有些数据库会在连接断开以后,自动把游标清理掉,但是你要查相关文档,确定有这个特性才行。
但是,万一哪天你们要换一个不支持这个特性的数据库呢?所以跟着 good practice 做才是最好的 |
12
afpro 2017-10-23 20:43:23 +08:00 1
就好比你 malloc 了一堆东西 如果进程马上就退出了 你可以不 free 但是不能那么写代码……
|
13
oswuhan 2017-10-23 23:59:15 +08:00 1
“你上完公厕,如果不把门口的‘厕所有人’的标识拿掉,别人就不会使用这间厕所”。
|