简短结论:会,临时表是否会“占用内存”取决于数据库类型和具体实现,但在绝大多数关系型数据库中,临时表的数据主要存储在临时表空间(通常是磁盘),同时相关的元数据、缓存页等会占用一定的内存(如 buffer pool / cache)。
下面分常见数据库说明:
CREATE TEMPORARY TABLE ... ENGINE=MEMORYtmp_table_size / max_heap_table_size 限制InnoDB 或 MyISAM(默认 InnoDB)结论:MySQL 临时表“可能占内存,也可能只占磁盘 + Buffer Pool 缓存”
CREATE TEMPORARY TABLEPostgreSQL 没有“纯内存临时表”(除非你自己用 UNLOGGED + 内存盘)
MEMOPTIMIZE 相关特性部分放内存#table临时表不等于“只在内存中”
- 有的临时表(如 MySQL MEMORY 临时表)确实直接吃内存
- 大多数临时表是“磁盘存储 + 内存缓存”的模式
如果你愿意,可以告诉我:
我可以给你更精确的结论和优化建议。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。