有关全局临时表的问题

qb_zhm 2002-08-30 09:09:05
全局临时表怎么也在创建它的连接被断开以后就被清除了啊,这不是我想要的结果,我想要创建的全局临时表一直有用,直到下一次重启。
我想使用全局临时表的原因是我的这个表数据不需要保存,但是更新频繁,每秒都要更新好多条,所有我想临时表速度会快点(我想临时表应该是放在内存中的吧),我听说还有一个表变量的东东,但是好象也不能长期保存,不知道还有没有别的什么好的办法,
我制作的实际东东是一个论坛的在线用户列表,在线用户多的时候大约有 5000~10000,所以性能很重要,听说可以在 tempdb 中直接创建表,这样创建的表应该是符合要求的,但是sql server 的普通用户没有在 tempdb 中建表的权限,我希望我的程序能通用一点,就是 sql server 的普通用户就能用了,不知道有没有哪位高手有更好一点的方法
...全文
259 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ToUpdate 2002-08-31
  • 打赏
  • 举报
回复
使用完了就没有了.
qb_zhm 2002-08-30
  • 打赏
  • 举报
回复
我看到书上有一个地方有介绍,但是太简单,没弄明白怎么做,“如果想让一个全局临时表永久存在,那么可以在存储过程中创建表,使之在启动sql server后自动启动,可以利用waitfor使这样的进程进入睡眠状态,但是它永远不会终止,因些该全局临时表永远不会被删除”
另外,听说还有一种方法,是能将一个表读到内容中,是不是也能有一样的效果?
qb_zhm 2002-08-30
  • 打赏
  • 举报
回复
总之我希望它不被删除,除非 sqlserver 重启,或者是 服务器重启了
Yang_ 2002-08-30
  • 打赏
  • 举报
回复
除非你保持一个连接在,否则不能保证不被清除。
Yang_ 2002-08-30
  • 打赏
  • 举报
回复
楼上的说法不确切
全局临时表是在所有引用过这个临时表的进程都结束的时候被清除。
如进程1创建全局临时表##T,其它进程没有引用,那关闭进程1的时候删除##T.
如进程1创建全局临时表##T,进程2select了,这时关闭进程1的时候不删除##T,再关闭进程2时删除##T。

qb_zhm 2002-08-30
  • 打赏
  • 举报
回复
知道啊,创建表的连接被断开并且没有连接在访问这个表的时候就被清除了,但是这也不行啊,还是没有达到要求,这样一来,访问量小一点的岂不是一会儿就被清除掉了?
Chiff 2002-08-30
  • 打赏
  • 举报
回复
全局临时表当所有进程结束的时候被清除。

34,591

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧