MySQL临时表的简单用法

操作方法

  • 01

    当工作在非常大的表上时,你可能偶尔需要运行很多查询获得一个大量数据的小的子集,不是对整个表运行这些查询,而是让MySQL每次找出所需的少数记录,将记录选择到一个临时表可能更快些,然后在这些表运行查询。 创建临时表很容易,给正常的CREATE TABLE语句加上TEMPORARY关键字: CREATE TEMPORARY TABLE tmp_table ( name VARCHAR(10) NOT NULL, value INTEGER NOT NULL ) 临时表将在你连接MySQL期间存在。当你断开时,MySQL将自动删除表并释放所用的空间。当然你可以在仍然连接的时候删除表并释放空间。 DROP TABLE tmp_table 如果在你创建名为tmp_table临时表时名为tmp_table的表在数据库中已经存在,临时表将有必要屏蔽(隐藏)非临时表tmp_table。 如果你声明临时表是一个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的话系统是不会自动清空临时表数据的。

(0)

相关推荐

  • linux中grep的简单用法

    grep的简单用法 操作方法 01 可以用grep来查找管道传过来的或者文件中的特定字符或字符串,在终端上输入man grep可以显示grep的帮助手册 02 为了演示方便,我们新建一个文件1.c,在 ...

  • Linux系统下主机性能分析工具nmon的简单用法

    nmon是收集AIX或Linux主机的性能数据并分析的工具,使用简单易用.主要有两个,一个是nmon采集数据的工具,一般名称为nmon_**,例如nmon_aix5.3,另一个是分析结果的工具,它是一 ...

  • Navicat for MySQL,mysql可视化工具简单使用

    下载过来的mysql都是用CMD来打开的,我下面推荐款为 Navicat的可视化界面 操作方法 01 双击下载过来的Navicat for MySQL.选择快速安装就行了 02 把那两个选项取消掉.点 ...

  • mysql group by的用法

    mysql中,当进行分组统计或汇总的时候常用到group by,常和聚合函数一起用,下面举例说明下 操作方法 01 看一下这张员工绩效表 02 如果我们要查每个部门的总绩效成绩,就可以用group b ...

  • MFC中菜单的简单用法

    当新建一个MFC SDI应用程序以后,会自动的添加一个菜单栏,在菜单栏中,会包含常规的菜单项:文件.编辑.查看.帮助等:理所当然的,我们可以轻松的编辑这些菜单项. 步骤/方法 01 添加菜单项:选择& ...

  • MySQL函数大全及用法示例分享

    操作方法 01 字符串函数 ASCII(str)    返回字符串str的第一个字符的ASCII值(str是空串时返回0)  mysql> select ASCII('2');   -> ...

  • VB字符串截取函数的简单用法

    VB的字符串截取函数有Left(字符串,n),返回字符串前N个字符:Mid(字符串,p,n),从第p个字符开始,向后截取N个字符:right(字符串,n),返回字符串的最后n个字符. 步骤/方法 01 ...

  • 实例讲解Debian系的Linux中软件包的安装与管理命令用法

    apt-get用法:apt-get [选项] 命令   apt-get [选项] install|remove pkg1 [pkg2 ...]   apt-get [选项] source pkg1 [ ...

  • BSD下vi用法详解

    vi用法  VI命令可以说是Unix/linux世界里最常用的编辑文件的命令了,但是因为它的命令集众多,很多人都不习惯使用它,其实您只需要掌握基本命令,然后加以灵活运用,就会发现它的优势,并会逐渐喜欢 ...