位置: 编程技术 - 正文

浅谈MySQL临时表与派生表(mysql 临时表)

编辑:rootadmin

推荐整理分享浅谈MySQL临时表与派生表(mysql 临时表),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql临时表的使用,mysql临时表的创建表语句,mysql临时表的使用,mysql 临时表,mysql使用临时表提高查询效率,mysql使用临时表提高查询效率,mysql 临时表,mysql临时表的创建表语句,内容如对您有帮助,希望把文章链接给更多的朋友!

关于派生表

当主查询中包含派生表,或者当select 语句中包含union字句,或者当select语句中包含一个字段的order by 子句(对另一个字段的group by 子句)时,MySQL为了完成查询,则需要自动创建临时表存储临时结果集,这种临时表由MySQL自行创建,自行维护,成为自动创建的临时表。对于自动创建的临时表,由于内存临时表的性能更为优越,mysql总是首先使用内存临时表,而当内存临时表变得太大时,达到某个阈值的时候,内存临时表就转存为外存临时表。也就是说,外存临时表是内存临时表在存储空间上的一种延伸。内存临时表转存为外存临时表的阈值由系统变量max_heap_table_size和tmp_table_size的较小值决定。

派生表一般在from子句中使用。如:

select * from (select * from table) as t;

关于临时表

当工作在非常大的表上时,你可能偶尔需要运行很多查询获得一个大量数据的小的子集,不是对整个表运行这些查询,而是让MySQL每次找出所需的少数记录,将记录选择到一个临时表可能更快些,然后在这些表运行查询。

创建临时表很容易,给正常的CREATE TABLE语句加上TEMPORARY关键字:

临时表将在你连接MySQL期间存在。当你断开时,MySQL将自动删除表并释放所用的空间。当然你可以在仍然连接的时候删除表并释放空间。

DROP TABLE tmp_table

浅谈MySQL临时表与派生表(mysql 临时表)

如果在你创建名为tmp_table临时表时名为tmp_table的表在数据库中已经存在,临时表将有必要屏蔽(隐藏)非临时表tmp_table。

如果你声明临时表是一个HEAP表,MySQL也允许你指定在内存中创建它:

因为HEAP表存储在内存中,你对它运行的查询可能比磁盘上的临时表快些。然而,HEAP表与一般的表有些不同,且有自身的限制。详见MySQL参考手册。

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

1. 临时表再断开于mysql的连接后系统会自动删除临时表中的数据,但是这只限于用下面语句建立的表:

定义字段:

2)直接将查询结果导入临时表

CREATE TEMPORARY TABLE tmp_table SELECT * FROM table_name

2. 另外mysql也允许你在内存中直接创建临时表,因为是在内存中所有速度会很快,语法如下:

3. 从上面的分析可以看出临时表的数据是会被清空的,你断开了连接就会被自动清空,但是你程序中不可能每发行一次sql就连接一次数据库吧(如果是这样的话,那就会出现你担心的问题,如果不是就没有问题),因为只有断开数据库连接才会被清空数据,在一个数据库连接里面发行多次sql的话系统是不会自动清空临时表数据的。

mysql学习笔记之基础知识 查看数据库showdatabases;创建数据库createDATABASE数据库名称createDATABASEdatabasetest;选择数据库use数据库名称usedatabasetest;------------Databasechanged;切换成功查看当

mysql学习笔记之数据引擎 查看当前数据库支持的引擎showengines+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+|Engine|Support|Comme

mysql学习笔记之帮助文档 查看系统帮助helpcontentsmysqlhelpcontents;Youaskedforhelpabouthelpcategory:"Contents"Formoreinformation,type'helpitem',whereitemisoneofthefollowingcategories:AccountManagementAdministrationCompo

标签: mysql 临时表

本文链接地址:https://www.jiuchutong.com/biancheng/350124.html 转载请保留说明!

上一篇:MySQL日志系统详细资料分享(mysql日志有哪些)

下一篇:mysql学习笔记之基础知识(mysql使用入门教程视频)

  • 人力资源服务的概念
  • 加计抵扣进项税进营业外收入
  • 关联企业房产转让
  • 写字楼租金税率
  • 如何申请免税
  • 资本公积是属于什么类账户
  • 汇算清缴需要准备哪些数据
  • 房屋租赁费增值税专用发票几个点
  • 付拍卖佣金入什么科目核算及会计分录怎么做?
  • 公司借别的公司的钱再借给别的公司
  • 为什么有的公司没有一金
  • 超出发票使用范围
  • 一般纳税人增值税申报操作流程
  • 收购农产品销售会计分录怎么写
  • 当期免抵税额如何做账
  • 招待费多少
  • 长期股权投资年度损益影响金额包括什么
  • 避税和不避税怎么选
  • 大宗物资吧
  • 新药从开发到生产的流程
  • 公司给员工发工资用途怎么写
  • 残保金的工资总额是应发还是实发
  • 存货清查的步骤
  • 购买的固定资产进项税可以抵扣吗
  • 事业单位工程岗位职责
  • 私账转到公账怎么办
  • 微软win11预览版
  • 净损益是
  • Vue3+ElementPlus el-date-picker设置可选时间范围
  • php怎么定义全局变量
  • php单例模式例子
  • 国家差旅费报销最新标准住宿
  • php文件包含目录文件吗
  • 财务费用属不属于当期损益
  • php数据统计分析
  • 个人所得税零报税怎么报
  • php动态生成网页
  • html5简单吗
  • jquery获取值的几种方法
  • 企业进行清算
  • 存货的账务处理分录
  • 如何补缴以前年度的税
  • php文件缓存类
  • 出口退税率为0要补增值税吗
  • 安装sql2005提示sql server服务无法启动
  • 股票手续费如何计算公式
  • 债券溢价什么意思
  • 出口退税申报需要手动录入什么信息呢
  • 公司缴纳个人所得税有什么用
  • 商场联营扣点缴纳增值税税率
  • 开了红字发票申请还要做进项税转出吗?
  • 留存收益资本成本公式
  • 投资者投入无形资产的入账价值
  • 企业建账选择什么会计准则
  • sql-3
  • mysql 5.7.33安装
  • win1020h2累积更新
  • WinXP系统能上qq但打不开网页原因分析及解决方法
  • 清除cmos后电脑不启动
  • win7开机过程中黑屏
  • window8系统更新
  • w10强制更新怎么关闭
  • ios macos
  • 如何关闭mcafee软件
  • windowsxp是什么时候正式发布
  • win7系统无法创建分区也无法定位
  • w7升级w8.1
  • linux计划任务每天执行一次
  • css滤镜特效属于css样式定义分类中的
  • MVC Ajax Helper或Jquery异步加载部分视图
  • jquery回车触发事件
  • node.js web
  • jquery弹出div遮罩层
  • NGUI学习:(1)spine导入后图层顺序的问题
  • javascript编程语言
  • Python对象转列表
  • 北京税务总局
  • 电子税务局无法显示抵扣发票
  • 上海网上申报软件怎样下载
  • 福建福州有几个火车站
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设