解析MySQL临时表及其特性
MySQL >创建临时表tmp_table(
->
名字,varchar(10)不为空,
整数非空值>值
->
>;
查询OK,0行受影响(0.38秒)
查看表的状态
MySQL >显示创建表tmp_table G
*************************** 1。行***************************
表:tmp_table
表的创建:创建临时表(` tmp_table `
`名字` varchar(10)不为空,
值int(11)不为空
InnoDB引擎=默认的字符集utf8)
1行集(0秒)
它与普通表没有差别,但是数据在内存中,并且在您响应的数据目录中找不到一个数据文件。
一旦连接断开,表就会消失。
内存表与临时表有点类似,有些还调用堆表。
MySQL >创建表mem_table(
->
名字,varchar(10)不为空,
整数非空值>值
->
>类型=堆);
查询OK行,0个受影响,1个警告(0.01秒)
查看表的状态
MySQL >显示创建表mem_table G
*************************** 1。行***************************
表:mem_table
表的创建:创建临时表(` mem_table `
`名字` varchar(10)不为空,
值int(11)不为空
发动机=内存默认的字符集utf8)
1行集(0秒)
你发现在数据目录的mem_table.frm文件,所以在内存表的数据放在磁盘。但是在插入数据之后,发现磁盘上没有数据文件,所以数据是在内存中,因为内存引擎被使用了。一旦下机数据不存在。表因为数据在内存中,所以数据会非常快。缺点是安全性。