重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
临时表:一种特殊的表,用来存储查询的中间结果,并且会随着当前连接的结束而自动删除。mysql中有2种临时表,分别是内部临时表和外部临时表。
我们一直强调成都网站设计、做网站对于企业的重要性,如果您也觉得重要,那么就需要我们慎重对待,选择一个安全靠谱的网站建设公司,企业网站我们建议是要么不做,要么就做好,让网站能真正成为企业发展过程中的有力推手。专业网站建设公司不一定是大公司,成都创新互联作为专业的网络公司选择我们就是放心。
外部临时表关键字:TEMPORARY 。
外部临时表特征:
1、关键字TEMPORARY
2、临时表创建完成之后,只有当前可见,其他连接是看不到的,具有连接隔离性
3、临时表在当前连接结束之后,会自动删除。
临时表可以存储在内存和磁盘。
创建临时表的语句与创建普通表相比,就是在CREATE后面增加一个单词TEMP,其它语法同普通表,区别是不同连接之间建立的相同表名的临时表不会冲突、连接关闭的时候临时表会自动删除。
例如:
CREATE TEMP TABLE ttt (id int, str char(32));
1.查看create table 语句里面的表、列、索引都要反斜杠符号也可以不使用,但不能写成 '单引号。不然执行就会报1064错误了
2.不要使用mysql的保留字
当工作在非常大的表上时 你可能偶尔需要运行很多查询获得一个大量数据的小的子集 不是对整个表运行这些查询 而是让MySQL每次找出所需的少数记录 将记录选择到一个临时表可能更快些 然后多这些表运行查询 创建临时表很容易 给正常的CREATE TABLE语句加上TEMPORARY关键字 CREATE TEMPORARY TABLE tmp_table (name VARCHAR( ) 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( ) NOT NULL value INTEGER NOT NULL) TYPE = HEAP因为HEAP表存储在内存中 你对它运行的查询可能比磁盘上的临时表快些 然而 HEAP表与一般的表有些不同 且有自身的限制 详见MySQL参考手册 正如前面的建议 你应该测试临时表看看它们是否真的比对大量数据库运行查询快 如果数据很好地索引 临时表可能一点不快 lishixinzhi/Article/program/MySQL/201311/29492