爱国设计
业内动态 | 技术文章 | 相关下载 | 设计素材 | 酷站欣赏 | 网站设计 | 娱乐新区 | 论坛交流
您的位置:首页 > 技术专栏 > WEB编程 > PHP技术 >  
mysql中的临时表
作者: | 时间:2005-03-11 | 来自:穿越时光
浏览数: | 文章有0条评论 | 发布者:makeday
                                                       

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

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


相关链接
 ·Mysql注入:SQL Injection with MySQL  [2005-04-21]
 ·MySQL 数据库函数库  [2005-04-02]
 ·mysql数据库备份  [2005-03-11]
 ·mysql中的临时表  [2005-03-11]
 ·MySQL安全性指南  [2005-03-11]
 ·MySQL用户管理  [2005-03-11]
 ·MySQL索引分析和优化  [2005-03-11]
 ·MySQL修改密码方法总结  [2005-03-11]
 ·MySQL中修改密码及访问限制设置详解  [2005-03-11]
 ·MySQL 查询中的分页思路的优化  [2005-03-11]
热门评论
验证码: 匿名
 信息检索
COPYRIGHT 2005-2006 BY EGZ'DESIGN ALL RIGHTS 程序支持 | 联系我们 | 信息反馈 | 在线留言 |


爱国设计
版权所有 陕ICP备05002767号 联系QQ

本站采用符合W3C标准的XHTML1.1代码格式编写  本站使用符合W3C标准的CSS+DIV格式布局排版    服务器端脚本采用PHP4编写  本站后台数据库采用MySQL