gpt4 book ai didi

mysql - 大量的 MySQL 临时磁盘表

转载 作者:IT老高 更新时间:2023-10-29 00:15:13 24 4
gpt4 key购买 nike

我们注意到 MySQL 报告了非常多的临时磁盘表(超过 10,000 个),这是由 Server Density 报告的.我们试图对此有更多了解。

  • MySQL 为什么要创建临时磁盘表?
  • 它们对性能有什么影响?
  • 它们是否曾被 MySQL 删除或这个数字只会增加?

最佳答案

创建临时表的原因有很多。凡是大数据集,需要排序的select操作都会写入一个。直接由查询创建的实际临时表(TEMPORARY 表类型)是在每个连接的基础上完成的,所以如果你有一个包含 50 个连接的脚本,每个连接都在做同一个临时表,那就是它们的 50 组磁盘临时文件.临时表创建原因 group by order by 和 distinct by通常,基于磁盘的 i/o 是 DBMS 中最昂贵的部分,因此如果这些表用于大型数据集,您可能会将 DB 性能限制为 i/o 系统的性能。但一般来说,就存在而言,它们只会占用磁盘空间,而不会占用太多其他空间。

用于排序目的的临时表应该在查询完成时自行清理。 “TEMPORARY”类型的临时表将在它们所连接的连接关闭时自行清理。如果您使用的是持久连接,那么 TEMPORARY 表将一直存在,直到您(或程序)手动删除它们。

关于mysql - 大量的 MySQL 临时磁盘表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3996864/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com