本期小编就给大家带来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
- 上一篇:ubuntu配置本地仓库_ubuntu 更新仓库 配置ubuntu软件仓库
- 下一篇:linux配置软件仓库_Ubuntu Kylin中国麒麟版系统 14.04 LTS版For Linux-32(2014年4月18日发布)
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。