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

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

delimiter ||

create procedure sp_test1(

IN

mysql存储过程临时表_mysql存储过程中使用临时表相关推荐

  1. mysql函数临时表_MySQL函数中创建临时表

    我们都知道,在MySQL创建函数的时候,是不能返回table类型的数据的. 我有几个疑问: 1.在function中我首先创建一个临时表: create temporary table table_t ...

  2. mysql存储过程调试_MYSQL存储过程调试过程

    mysql不像oracle有plsqldevelper工具用来调试存储过程,所以有几种简单的方式追踪执行过程: 1.用一张临时表,记录调试过程: 2.直接在存储过程中,增加select xxx,在控制 ...

  3. mysql 存储过程 定时_MySQL存储过程和定时任务

    什么是存储过程 存储例程是存储在数据库服务器上的一组sql语句,这些语句通过在查询中调用指定的名称来执行. 存储过程是存储在数据库中的一组SQL语句 存储过程是mysql中定义的方法 可以通过调用方法 ...

  4. mysql的存储过程原理_mysql存储过程原理与用法详解

    本文实例讲述了Mysql存储过程原理与用法.分享给大家供大家参考,具体如下: 本文内容: 什么是存储过程 存储过程的创建 存储过程的使用 查看存储过程 修改存储过程 删除存储过程 首发日期:2018- ...

  5. mysql 函数 局部变量_MySQL 存储过程 存储函数 局部变量 游标 概念示例

    一个存储过程是一个可编程的函数,它可以在MySQL中创建并保存.它是由一些SQL语句和一些特殊的控制结构语句组成. 当希望在不同的应用程序或平台上执行相同的函数,或者封装特定的功能时,存储过程是一个非 ...

  6. mysql 存储过程求和_MySQL - 存储过程和函数

    MySQL - 存储过程和函数 创建和调用存储过程 -- 创建stu_group()存储过程,封装 分组查询总成绩,并按照总成绩升序排序的功能 -- 注意: DELIMITER 必须写在一行的最前面, ...

  7. mysql存储过程触发器_MySQL存储过程及触发器

    一.存储过程 存储过程的基本格式如下: -- 声明结束符 -- 创建存储过程 DELIMITER $ -- 声明存储过程的结束符 CREATE PROCEDURE pro_test() --存储过程名 ...

  8. mysql存储过程删除_MySQL 存储过程删除大表

    1.权限问题 alter routine 编辑或删除存储过程 create routine 建立存储过程 execute 创建存储过程 2.存储过程相关的一些命令 show procedure sta ...

  9. mysql 存储过程 控制台_mysql 存储过程 调试

    mysql存储过程之游标遍历数据表 原文:mysql存储过程之游标遍历数据表 今天写一个mysql存储过程,根据自己的需求要遍历一个数据表,因为对存储过程用的不多,语法不甚熟悉,加之存储过程没有调试环 ...

  10. php mysql存储过程写法_mysql存储过程写法

    都说不懂数据库的程序员不是合格的程序员,那么你知道MySQL存储过程应该怎么写吗? MySQL存储过程写法 可以使用 CREATE PROCEDURE 语句创建存储过程. 数据库存储过程语法格式如下: ...

最新文章

  1. 请问一个跨进程调用的问题?
  2. fegin需要实现类_深入理解JVM(六)--虚拟机类加载机制
  3. LINQ TO XML练习
  4. Java 集合系列(4): LinkedList源码深入解析1
  5. oracle 好书( 09 对象管理 )
  6. dorado7ajax,Dorado7
  7. 韩顺平 Mysql数据库优化(一) 优化概述
  8. .NET Core程序瘦身器发布,压缩程序尺寸到1/3
  9. swoole 协程channel乱测
  10. c语言结构体中整形数组初始化,c – 将{0,0}在结构体中初始化数组?
  11. java 内部变量_java 中的内置数据类型
  12. swift ... .._Swift 2.0是开源的,ApacheCon:大数据,还有更多开源新闻
  13. 考软件测试初学者眼影,Summer 大讲堂第一期:如何制作出版级的高分辨率图表?...
  14. 小程序布局中class='container'的bug
  15. ssm网上书城系统毕业设计-附源码180919
  16. 汉王考勤显示服务器为启动,汉王考勤管理软件简化版
  17. 编写一个简单加密程序!!!
  18. 小米8可以刷鸿蒙os,鸿蒙 OS 2.0 来了!小米也能用么?
  19. Android仿人人客户端(v5.7.1)——消息中心视图的实现
  20. Vue使用谷歌统计和百度统计

热门文章

  1. canvas图形放大缩小鼠标拖拽
  2. YUV420SP/YUV420P
  3. 计算机软件水平考试什么题型,计算机软考考什么内容
  4. 一个绝对有用的网站!
  5. MTK 安卓11 传感器兼容 陀螺仪42607-p
  6. Golang 入门 : 结构体(struct)
  7. 使用vue-wordcloud实现文字云/词云
  8. IPO (Python)
  9. 千万不要嫁给程序猿,我是认真的
  10. 每日刷题记录 (一)