当工作在非常大的表上时,你可能偶尔需要运行很多查询获得一个大量数据的小的子集,不是对整个表运行这些查询,而是让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参考手册。
正如前面的建议,你应该测试临时表看看它们是否真的比对大量数据库运行查询快。如果数据很好地索引,临时表可能一点不快。
例子如下:
- <?php
- $link=mysql_connect('localhost','root','456789');
- if($link){
- mysql_select_db('cppc360',$link);
- mysql_query("set names 'gbk'");
- echo "数据库连接已经成功!";
- }
- $temp_sql = "create temporary table tmp_query (tmp_id int(11) NOT NULL auto_increment PRIMARY KEY,id int(11) default NULL,area varchar(20) default NULL)";
- $temp_query = mysql_query($temp_sql);
- $sql="insert into tmp_query(id,area) select id,area from php168_item_content_1 where content like '%电厂%' order by id desc";
- mysql_query($sql);
- $sql="select * from tmp_query";
- $query1=mysql_query($sql);
- echo mysql_num_rows($query1);
- while($rs=mysql_fetch_array($query1)){
- echo $rs[id]." ".$rs[area]."<br>";
- }
- ?>
- 来源:http://www.alixixi.com/Dev/Web/PHP/php6/2007/2007020811417.html
- http://database.51cto.com/art/201011/234786.htm
相关推荐
以下是关于MySQL临时表的一些关键知识点: 1. **创建临时表**: - 使用`CREATE TEMPORARY TABLE`语句来创建临时表,与常规的`CREATE TABLE`语句相似,但添加了`TEMPORARY`关键字。 - 在提供的示例中,创建了一个...
临时表在大数据处理、数据分析和复杂的多表联接查询中有着广泛的应用。例如,它们可以用于分步计算,存储中间结果,或者在事务处理中隔离数据。通过临时表,开发者可以更灵活地组织和管理复杂查询,提高数据库操作的...
当一个事务尚未完成,其他事务无法进行相关操作,就会导致锁表现象,影响数据库性能和应用的正常运行。本文将介绍几种解决MySQL锁表问题的方法。 1. **查看并杀死锁定进程** 使用`SHOW PROCESSLIST`命令可以查看...
- **MEMORY**:MEMORY 引擎使用内存作为存储介质,可以显著加快查询速度,适用于临时表和高速缓存。 ##### 2. 触发器 MySQL 5 支持触发器,可以在数据发生变化时自动执行特定的操作。例如,在插入或更新记录时触发...
《基于PHP+MYSQL图书销售管理系统》是一个典型的Web应用程序,它结合了PHP编程语言与MySQL数据库管理系统,用于实现图书的销售管理。在这个系统中,PHP作为服务器端脚本语言,负责处理用户请求,与数据库交互,生成...
本资源包包含的“PHP上传下载源代码+MYSQL数据库表”是关于如何使用PHP实现文件上传和下载功能的一个实例,同时也涉及到数据存储,即通过MySQL数据库进行文件相关信息的管理。 首先,PHP上传功能涉及的主要知识点...
在IT行业中,PHP和MySQL是两个非常重要的工具,它们经常被用来构建动态网站和Web应用程序。本主题聚焦于“PHP MySQL数据库存储session”,这涉及到如何使用PHP将用户的session数据存储在MySQL数据库中,以实现更安全...
在这个HTML文件中,你需要正确地引入`jquery.more.js`脚本,以及PHP文件和CSS样式表。通常,`<script>`标签会放在`<head>`部分引入jQuery库,然后是`jquery.more.js`,确保jQuery库先加载。此外,可能还需要设置一些...
本实例中的"php+mysql动态网站开发实例 源码"提供了一个完整的、基于这两种技术的网站应用示例,可以帮助开发者深入理解如何将PHP脚本语言与MySQL数据库系统集成,以实现动态数据交互和管理功能。 PHP(Hypertext ...
首先,使用FoxPro命令将DBF文件转换为临时的文本文件(temp.txt),接着使用Word打开这个文本文件,然后可以进一步导入到MySQL中,创建相应的表结构。 这种方法避免了手动输入数据的低效,同时也适应了信息化进程的...
总的来说,这个"bbs.zip" 包含了一个基本的PHP+MySQL论坛BBS实例,对于学习者来说,这是一个很好的实践项目,可以深入理解PHP和MySQL的结合应用,以及如何创建一个简单的Web论坛。对于初学者,可以从中学习到如何...
用户上传的图片会被临时存储在服务器的一个特定目录下,然后通过PHP脚本进行验证(如文件类型、大小等),确保安全后再将其移动到指定的存储位置。同时,图片的元数据(如文件名、大小、上传时间等)会被存储到MySQL...
【标题】"基于PHP的MYSQL管理工具php+mysql.zip" 提供的是一个使用PHP语言开发的MySQL...是一个用于方便地管理和维护MySQL数据库的Web应用,它结合了PHP的灵活性和MySQL的强大功能,为用户提供了便捷的数据库操作环境。
在开发移动应用时,将Android客户端与服务器端的PHP和MySQL数据库进行集成是常见的做法,尤其是在涉及用户身份验证和管理的场景中,如用户登录和注册功能。本项目"Android+PHP+Mysql实现用户登录,注册"正是这样一个...
在PHP+MySQL的应用中,这可能是一个数据库备份或临时数据文件。 2. "使用须知.txt" - 这个文件通常包含关于如何安装、配置和运行项目的重要信息,包括环境要求、数据库设置、文件结构解析等。 在这个项目中,你可能...
BDB提供事务处理,适用于需要数据一致性的场景,MEMORY引擎则将所有数据存储在内存中,适合临时表或快速查询。 2. **SQL语法**:这个版本支持基本的SQL标准,如SELECT、INSERT、UPDATE、DELETE语句,以及JOIN操作,...
这种技术的核心是JavaScript库jQuery、Ajax(Asynchronous JavaScript and XML)以及后端服务器端语言PHP和数据库MySQL的结合。在本教程中,我们将深入探讨如何利用这些技术实现表单验证的异步刷新。 首先,jQuery...
**PHP MySQL** 是一个结合了 **PHP** 和 **MySQL** 的技术组合,广泛应用于 Web 应用程序中,尤其在处理数据库操作方面表现突出。下面分别介绍这两个关键技术: ##### 1. MySQL **MySQL** 是一个非常流行的开源...
标题中的"adminer_phpmysql_"暗示我们正在讨论一个与MySQL数据库管理相关的工具,而"phpmysql"标签进一步确认了这一点。Adminer是一款轻量级、开源的数据库管理工具,它使用PHP语言编写,专为MySQL数据库设计,同时...
在遇到无法访问数据库的错误时,如Error 1045,可通过临时禁用授权表(使用`--skip-grant-tables`启动mysqld),然后更新root用户的密码,最后刷新权限,恢复正常的访问控制。 综上所述,PHP与MySQL的安全机制涵盖...