★跪地哭泣求助:PHP建立SQL临时表后无法访问!?★

小藍 2012-02-23 12:01:58
事情经过是这样的:

点击某个链接触发某个函数,函数里面做 select * into #temp from A. 并且 select * from #temp

返回结果能显示 #temp 里面的内容。


再次点击某个链接触发某个函数,函数里面只做 select * from #temp.

返回结果不能显示 #temp 里面的内容,经调试,发现数据库里已经不存在 #temp 了。

1、请问为什么会这样呢?#temp 不是会话级别的吗?

2、我改成 ##temp 全局临时表,也和上述 #temp 一样丢失了。

3、如果要把经常查询的结果放到临时表里,等待下次查询的时候减少时间消耗,那应该怎么做呢?
...全文
121 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Liv2005 2012-02-23
  • 打赏
  • 举报
回复
你连接数据库的方式是什么? 试试看mysqli
小藍 2012-02-23
  • 打赏
  • 举报
回复
现在只能用视图代替试试...

不过往后多了一个工序,要一轮判断还要DROP 视图啦。

怎么就没有会话级别的临时表呢?

[Quote=引用 6 楼 mengxiangbaidu 的回复:]

高科技啊。临时表的作用是啥,可以用其他的东西代替
[/Quote]
coder 2012-02-23
  • 打赏
  • 举报
回复
高科技啊。临时表的作用是啥,可以用其他的东西代替
小藍 2012-02-23
  • 打赏
  • 举报
回复
访问临时表的速度快还是视图快阿?内存表是否 dbcc pintable 这一招阿?

[Quote=引用 3 楼 xuzuning 的回复:]

引用楼主 blue403 的回复:
如果要把经常查询的结果放到临时表里,等待下次查询的时候减少时间消耗,那应该怎么做呢?
显然不能放到临时表里!
对于经常性的查询,你可以创建视图
如果内存有富余,你也可以存放到内存表中
[/Quote]
xuzuning 2012-02-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 blue403 的回复:]
我的这个链接触发的函数是 AJAX 请求喔,没刷新也不行吗?
[/Quote]
是的,不行

每次 AJAX 请求,都是一次 http 会话过程,而每次 php 程序结束时都将关闭数据库连接
xuzuning 2012-02-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 blue403 的回复:]
如果要把经常查询的结果放到临时表里,等待下次查询的时候减少时间消耗,那应该怎么做呢?[/Quote]
显然不能放到临时表里!
对于经常性的查询,你可以创建视图
如果内存有富余,你也可以存放到内存表中
小藍 2012-02-23
  • 打赏
  • 举报
回复
我的这个链接触发的函数是 AJAX 请求喔,没刷新也不行吗?

[Quote=引用 1 楼 xuzuning 的回复:]

临时表仅生存于当前连接中
[/Quote]
xuzuning 2012-02-23
  • 打赏
  • 举报
回复
临时表仅生存于当前连接中
小藍 2012-02-23
  • 打赏
  • 举报
回复
用视图的话成功了,虽然消耗时间比预想的多一点,不过比每次往数据表里排序取数据还是加快了,呵呵,我不是程序员,我是超级菜菜鸟,我就瞎弄着玩的,谢谢您。
请告诉我怎么看帐号还有多少积分吧?我马上把分给您

[Quote=引用 4 楼 xuzuning 的回复:]

引用 2 楼 blue403 的回复:
我的这个链接触发的函数是 AJAX 请求喔,没刷新也不行吗?

是的,不行

每次 AJAX 请求,都是一次 http 会话过程,而每次 php 程序结束时都将关闭数据库连接
[/Quote]
小藍 2012-02-23
  • 打赏
  • 举报
回复
我链的是SQL Server

[Quote=引用 8 楼 liv2005 的回复:]

你连接数据库的方式是什么? 试试看mysqli
[/Quote]

4,250

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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