本文作者:kris

Mysql临时表原理及创建方法解析-mysql临时表原理及创建方法解析

kris 2025-01-23 04:06:04 2
Mysql临时表原理及创建方法解析-mysql临时表原理及创建方法解析摘要: mysql有全局临时表吗?临时表、表变量的比较1、临时表临时表包括:以#开头的局部临时表,以##开头的全局临时表。a、存储不管是局部临时表,还是全局临时表,都会放存放在tempdb...

mysql有全局临时表吗?

临时表、表变量的比较

1、临时表

临时表包括:以#开头的局部临时表,以##开头的全局临时表。

a、存储

不管是局部临时表,还是全局临时表,都会放存放在tempdb数据库中。

b、作用域

局部临时表:对当前连接有效,只在创建它的存储过度、批处理、动态语句中有效,类似于C语言中局部变量的作用域。

Mysql临时表原理及创建方法解析-mysql临时表原理及创建方法解析

图片来源:网络

全局临时表:在所有连接对它都结束引用时,会被删除,对创建者来说,断开连接就是结束引用;对非创建者,不再引用就是结束引用。

但最好在用完后,就通过drop table 语句删除,及时释放资源。

c、特性

与普通的表一样,能定义约束,能创建索引,最关键的是有数据分布的统计信息,这样有利于优化器做出正确的执行计划,但同时它的开销和普通的表一样,一般适合数据量较大的情况。

有一个非常方便的select ... into 的用法,这也是一个特点。

2、表变量

a、存储

表变量存放在tempdb数据库中。

b、作用域

和普通的变量一样,在定义表变量的存储过程、批处理、动态语句、函数结束时,会自动清除。

c、特性

可以有主键,但不能直接创建索引,也没有任何数据的统计信息。表变量适合数据量相对较小的情况。

必须要注意的是,表变量不受事务的约束,

文章版权及转载声明

作者:kris本文地址:https://www.damoyx.com/p/26361.html发布于 2025-01-23 04:06:04
文章转载或复制请以超链接形式并注明出处大漠游侠网

阅读
分享