Mysql中的临时表使用方法讲解

news/2025/2/25 9:57:42

当工作在非常大的表上时,你可能偶尔需要运行很多查询获得一个大量数据的小的子集,不是对整个表运行这些查询,而是让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参考手册。

正如前面的建议,你应该测试临时表看看它们是否真的比对大量数据库运行查询快。如果数据很好地索引,临时表可能一点不快。

 

转载于:https://www.cnblogs.com/dainiao01/archive/2008/09/01/2250249.html


http://www.niftyadmin.cn/n/3859999.html

相关文章

未来手机发展方向

随着新技术的出现,手机将会出现更多的功能,我来预测一下: 一、更大的内存随着内存颗粒价格的降低,5年内手机的内存大小将会普遍使用G级内存并支持内存扩展卡。20年内,随着新技术的出现,手机将会…

php 字符串排序算法,PHP排序算法

排序算法排序算法.jpg冒泡排序(数组排序)$arr [1,2,3,6,5,4];$resArr bubble_sort($arr);var_dump($resArr );function bubble_sort( $array) {$count count( $array);if ($count < 0 ) return false;for($i0 ; $ifor($j$i1 ; $jif ($array[$i] < $array [$j]){$tmp …

EXCHANGE2003个人笔记

Exchange 2003 Exchange与活动目录的对应关系 Exchange组织----------活动目录的森林 Exchange管理组-------活动目录的域 Exchange路由组-------活动目录的站点 Exchange2003的前后端服务器 前端服务器可以做一个NLB的负载均衡&#xff0c;后端服务器可以做Cluster。 如何确认…

VMware虚拟化之VSA(vSphere Storage Appliance)群集(一)部署详解

一、VSA简介 VMware vSphere Storage Appliance (VSA) 是包含 SUSE Linux Enterprise Server 11 和存储群集服务的VMware 虚拟设备。VSA 虚拟机在多个 ESXi 主机上运行&#xff0c;可对主机上安装的存储资源进行抽象并创建 vSphere Storage Appliance 群集&#xff08;VSA 群集…

冒泡排序的代码java,Java冒泡排序代码示例

Java冒泡排序代码示例代码如下&#xff1a;↓package com.coding.learn;import java.util.Arrays;/*** author 老菜鸟* version 1.1* Description 冒泡排序* date 3/19/21*/public class BubbleSort {public static void main(String[] args) {//定义示例数组int[] intArray {…

[翻译]Scott Mitchell 的ASP.NET 2.0数据教程之二:创建一个业务逻辑层

在ASP.NET 2.0中操作数据&#xff1a;创建一个业务逻辑层英文原版 | 本教程的代码(C#) | 翻译目录 | 原文目录导言 本教程的第一节所描述的数据访问层&#xff08;Data Access Layer&#xff0c;以下简称为DAL&#xff09;已经清晰地将表示逻辑与数据访问逻辑区分开…

mybatis参数

分是不是用Param注解的这两种情况&#xff0c; 1&#xff0c;使用Param注解&#xff0c;就不用理parameterType xml文档直接用 字符串的值&#xff0c;若是一个类&#xff0c;class.property 2&#xff0c; 不使用Param注解&#xff0c;MyBatis的传入参数parameterType类型分两…

centos7安装mysql及远程访问设置(yum)

1. 下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2. 安装mysql-community-release-el7-5.noarch.rpm包 $ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm 3. 安装mysql $ sudo yum install mysql-server 4.…