游标是不是一旦declare后就要deallocate掉?
时间:2011-12-22
来源:互联网
我的意思就是说假如declare了一个cursor,是不是它就一直存在于内存中了,不管是否将其open和close,都必须要将cursor deallocate掉才行?否则它就一直存在于内存中直到SQL SERVER进程结束?
作者: BusyDonkey 发布时间: 2011-12-22
en.
作者: geniuswjt 发布时间: 2011-12-22
"否则它就一直存在于内存中直到SQL SERVER进程结束"。
这点好像不对,应该好像是只要数据库连接释放了,连接中声明的游标也就跟着释放了。因为下次连接到数据库后我又可以创建同名的游标,说明上一个连接创建的游标已经不见了。
这点好像不对,应该好像是只要数据库连接释放了,连接中声明的游标也就跟着释放了。因为下次连接到数据库后我又可以创建同名的游标,说明上一个连接创建的游标已经不见了。
作者: BusyDonkey 发布时间: 2011-12-22
引用 2 楼 busydonkey 的回复:
"否则它就一直存在于内存中直到SQL SERVER进程结束"。
这点好像不对,应该好像是只要数据库连接释放了,连接中声明的游标也就跟着释放了。因为下次连接到数据库后我又可以创建同名的游标,说明上一个连接创建的游标已经不见了。
"否则它就一直存在于内存中直到SQL SERVER进程结束"。
这点好像不对,应该好像是只要数据库连接释放了,连接中声明的游标也就跟着释放了。因为下次连接到数据库后我又可以创建同名的游标,说明上一个连接创建的游标已经不见了。
不见了,不一定就等于不在了.
创建后就要释放,一个好的程序员应该养成这样的习惯,不要以为反正系统会给释放,结果谁都没释放,后果是,或者它无谓地占着空间,或者会出点什么溢出之类的事情,特别是那些在循环中创建的东西,一定得在循环中用完后释放.
作者: qianjin036a 发布时间: 2011-12-22
引用 3 楼 qianjin036a 的回复:
引用 2 楼 busydonkey 的回复:
"否则它就一直存在于内存中直到SQL SERVER进程结束"。
这点好像不对,应该好像是只要数据库连接释放了,连接中声明的游标也就跟着释放了。因为下次连接到数据库后我又可以创建同名的游标,说明上一个连接创建的游标已经不见了。
不见了,不一定就等于不在了.
创建后就要释放,一个好的程序员应该养成这样的习惯,不要以为反正系统会给释放……
引用 2 楼 busydonkey 的回复:
"否则它就一直存在于内存中直到SQL SERVER进程结束"。
这点好像不对,应该好像是只要数据库连接释放了,连接中声明的游标也就跟着释放了。因为下次连接到数据库后我又可以创建同名的游标,说明上一个连接创建的游标已经不见了。
不见了,不一定就等于不在了.
创建后就要释放,一个好的程序员应该养成这样的习惯,不要以为反正系统会给释放……
恩 的确是这样。应该养成不使用即释放的习惯 免得造成不必要的资源浪费。谨记老大的教诲!
作者: BusyDonkey 发布时间: 2011-12-22
我只是对这个东西什么时候释放感到好奇而已 呵呵
作者: BusyDonkey 发布时间: 2011-12-22
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28