Foxtable(狐表)用户栏目专家坐堂 → sqlselect如何释放


  共有2566人关注过本帖树形打印复制链接

主题:sqlselect如何释放

帅哥哟,离线,有人找我吗?
rjh4078
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3361 积分:24808 威望:0 精华:0 注册:2012/3/26 21:47:00
sqlselect如何释放  发帖心情 Post By:2016/5/28 14:54:00 [显示全部帖子]

有段代码是要循环执行一个sqlselect

 

for

条件1

for

条件2

sqlselect

next

next

一执行 发现内存占用就过了1个G 还在继续上升 我想问下 如何将已判断过的sqlselect行释放掉?


 回到顶部
帅哥哟,离线,有人找我吗?
rjh4078
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3361 积分:24808 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2016/5/28 19:54:00 [显示全部帖子]

因为是想通过查询数据库是否存在相同记录来决定是否添加当前记录 所以只能加完一次再查一次


 回到顶部
帅哥哟,离线,有人找我吗?
rjh4078
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3361 积分:24808 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2016/5/29 19:59:00 [显示全部帖子]

以下是引用jspta在2016/5/28 22:25:00的发言:
思路不对,向SQL查询次数越少越好。如果需要比较,那么你就一次加载需要比较的数据到内存,这样使用SELECT速度快了很多。

你这个比较过程肯定可以大幅度优化的,可以好好整理思路。
我考虑过这个问题 使用临时表 我的情况是这样的 比如 我现在查询表中是否有A记录 如果没有就添加 第一次查询的时候 表中是没有A的 然后执行了添加记录 如果再去查询临时表 还是没有A记录的 这样就死循环了 但其实现在数据库中已经添加了A记录了

 回到顶部