虚拟表,顾名思义,就是实际上并不存在(物理上不存在),但是逻辑上存在的表。这样说很抽象,还是看一些实际的例子吧。
在mysql中,存在三种虚拟表:临时表、内存表和视图。视图会单独讲,本节仅仅将临时表和内存表。
一、mysql临时表
1、什么是临时表
临时表是建立在系统临时文件夹中的表,如果使用得当,完全可以像普通表一样进行各种操作。 临时表的数据和表结构都储存在内存之中,退出时,其所占的空间会自动被释放。
2、创建临时表
(1)定义字段
CREATE TEMPORARY TABLE tmp_table (name VARCHAR(10) NOT NULL, value INTEGER NOT NULL)
(2)直接将查询结果导入临时表
CREATE TEMPORARY TABLE tmp_table SELECT * FROM table_name
3、查询临时表
select * from tmp_table
4、删除临时表
drop table tmp_table
当工作在十分大的表上运行时,在实际操作中你可能会需要运行很多的相关查询,来获的一个大量数据的小的子集。较好的办法,不是对整个表运行这些查询,而是让MySQL每次找出所需的少数记录,将记录选择到一个临时表,然后对这些表运行查询。