首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >临时表在MySQL中可重用吗?

临时表在MySQL中可重用吗?
EN

Stack Overflow用户
提问于 2017-04-19 10:24:25
回答 2查看 438关注 0票数 0

因此,我的老板给了我一个存储过程,需要优化,因为它是缓慢的。该过程正在过程中创建一个临时表,它看起来很奇怪:

代码语言:javascript
运行
复制
/* pseudocode for brevity */
create temp_table;

insert into temp_table (...) 
    select ... 
    from other_table 
    inner join ...
    inner join ...
    where condition

select * from temp_table

就这样吧。该代码将数据插入到临时表中,然后才会检索。下面是我所做的,我删除了临时表并直接返回选定的记录:

代码语言:javascript
运行
复制
/* pseudocode for brevity */
select ... 
from other_table 
inner join ...
inner join ...
where condition

前面的代码看上去不对,但我想确定临时表的功能。因此,我读到了关于临时表的文章,并认为临时表可以持续并且只能在一个会话中访问。我的问题是:

  1. 会话是什么意思?当我在应用程序端打开一个连接时,我可以重用临时表吗?我想知道这是不是这里有一个临时桌子的原因。
EN

回答 2

Stack Overflow用户

发布于 2017-04-19 10:31:34

数据库中的会话是指打开连接关闭之间的操作。

例如:在应用程序端,如果我试图调用存储过程,而在此之前,我会打开到临时表的DB.The作用域的连接,直到连接关闭为止。

票数 1
EN

Stack Overflow用户

发布于 2018-07-19 01:52:50

至于SQL连接,会话意味着创建一个连接。一旦连接到数据库,指定的会话将由数据库服务器创建。

作为SQL上公认的新手开发人员,当我需要通过许多表执行一个分支查询时,我总是选择临时表。(PS:我的经验表明,存储在临时表中的行将不会被更新,尽管它们的值已被更改)

类似的问题here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43492982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档