我们已经准备好了,你呢?

2024我们与您携手共赢,为您的企业形象保驾护航!

本期小编就给大家带来MySQL临时表的使用方法,文章内容丰富,从专业的角度进行分析叙述,希望大家看完本文后能够有所收获。

创建临时表很容易,只需在普通的 TABLE 语句中添加以下关键字:

CREATE TEMPORARY TABLE tmp_table (
    name VARCHAR(10) NOT NULL,
    value INTEGER NOT NULL
  )

只要您连接到 MySQL,临时表就会存在。断开连接时,MySQL 将自动删除表并释放其使用的空间。当然,您可以在仍处于连接状态时删除表并释放空间。

删除表

如果在创建名为的临时表时,数据库中已经存在名为的表,则临时表必然会屏蔽(隐藏)非临时表。

如果将临时表声明为HEAP表,MySQL还允许您指定它在内存中创建:

CREATE TEMPORARY TABLE tmp_table ( 
    name VARCHAR(10) NOT NULL,
    value INTEGER NOT NULL
  ) TYPE = HEAP

由于 HEAP 表存储在内存中,因此对它们运行的​​查询可能比对磁盘上的临时表运行的查询更快。但是,HEAP 表与普通表略有不同,并且有其自身的局限性。有关详细信息,请参阅 MySQL 参考手册。

正如前面所建议的,您应该测试临时表,看看它们是否真的比对大型数据库运行查询更快。如果数据索引良好,临时表可能根本不会更快。

1、临时表与MySQL断开连接之后,系统会自动删除临时表中的数据,但是这仅限于通过如下语句创建的表:

定义字段:

CREATE TEMPORARY TABLE tmp_table (
    name VARCHAR(10) NOT NULL,
    value INTEGER NOT NULL
  )

2)将查询结果直接导入到临时表中

CREATE TEMPORARY TABLE tmp_table SELECT * FROM table_name

2、另外MySQL还允许直接在内存中创建临时表,由于是在内存中,所以速度会很快,语法如下:

CREATE TEMPORARY TABLE tmp_table (
    name VARCHAR(10) NOT NULL,
    value INTEGER NOT NULL
  ) TYPE = HEAP

3、从上面的分析可以看出临时表中的数据是会被清除的,当你断开连接的时候会自动清除。但是你的程序不可能每次发出SQL语句时都去连接数据库(如果是这样的话,那你担心的问题就会出现,如果不是的话,就不会出现问题)。因为只有在断开数据库连接的时候才会清除数据,所以如果你在一个数据库连接中发出多条SQL语句的话,系统是不会自动清除临时表数据的。

以上就是我和大家分享的关于MySQL临时表如何使用的内容,如果你恰好也有类似的疑惑,不妨参考上面的分析进行了解,想要了解更多相关知识,请关注易速云行业资讯频道。

二维码
扫一扫在手机端查看

    Tags : mysql
本文链接:https://by928.com/6452.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线