mysql 数据 临时表_解析Mysql临时表及特点

本篇文章是对Mysql中的临时表以及特点进行了详细的分析介绍,需要的朋友参考下

临时表是当连接没有断开时存在,一旦断开就不会存在,临时表的数据和结构都在内存中,可以做个测验,你创建一个临时表,但是到响应的数据目录下并不会找到.frm文件

mysql> CREATE TEMPORARY TABLE tmp_table (

->

-> name VARCHAR(10) NOT NULL,

-> value INTEGER NOT NULL

->

-> ) ;

Query OK, 0 rows affected (0.38 sec)

查看表状态mysql> show CREATE  TABLE tmp_table \G

*************************** 1. row ***************************

Table: tmp_table

Create Table: CREATE TEMPORARY TABLE `tmp_table` (

`name` varchar(10) NOT NULL,

`value` int(11) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8

1 row in set (0.00 sec)

它和正常表没有什么区别,但是数据是存在内存中的,你在响应的数据目录下找不到数据文件。

一旦断开连接你再查该表就会消失。

和临时表有点相似的是内存表,有的也称堆表。

mysql> CREATE TABLE mem_table (

->

-> name VARCHAR(10) NOT NULL,

-> value INTEGER NOT NULL

->

-> ) TYPE = HEAP;

Query OK, 0 rows affected, 1 warning (0.01 sec)

查看表状态mysql> show CREATE  TABLE mem_table \G

*************************** 1. row ***************************

Table: mem_table

Create Table: CREATE TEMPORARY TABLE `mem_table` (

`name` varchar(10) NOT NULL,

`value` int(11) NOT NULL

) ENGINE=MEMORY DEFAULT CHARSET=utf8

1 row in set (0.00 sec)

你在数据目录下回发现一个mem_table.frm文件,所以内存表的数据是放在磁盘上的,但是插入数据后发现磁盘上没有数据文件,所以数据是在内存中的,因为采用的是memory 引擎。一旦down机数据将不存在。该表因为数据是在内存中,所以数据会很快。缺点是安全性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值