Presto操作TiDB时会产生大量的tmp_presto_开头的表,是什么情况。

如题,用Presto访问TiDB的时候,show tables;就会看到大量的tmp_presto开头的表。

tmp_presto_0675456ee0a94c9a9f9e5a0c31e7233a
tmp_presto_0679c51bc4674ee3929b10c1d8157ef4
tmp_presto_067b044189cd4699a8a0ed4abdd598cb
tmp_presto_068979aa3f7f48f1a54d68485f7e3c61
tmp_presto_068d6e74801a4c4197e8c8d90c8b986e
tmp_presto_068e8034dc6a4d849320427fead328bb
tmp_presto_06b1c73d62f648fc950e1a6a0e8fae0f
tmp_presto_06b6a09a115b4b1bb2e998b29ef0663c

presto采取三层表结构:

  1. catalog 对应某一类数据源,例如hive的数据,或mysql的数据
  2. schema 对应mysql中的数据库
  3. table 对应mysql中的表

访问TIDB的时候估计就会生成临时表吧

临时表文件

这些可以清理么,它不能自动清理吗

tmp_presto开头的表是Presto在执行查询时创建的临时表,用于存储中间结果。这些表通常会在查询结束后自动删除,但有时可能会因为某些原因
如:

  • 执行查询时遇到了异常或错误
  • 删除临时表时没有足够的权限或者遇到了网络或存储的问题,导致操作失败或超时。

而残留在TiDB中。这些表不会影响正常的查询,但可能会占用一些空间。可以手工删除

1 个赞

临时表,保存中间结果集数据的,session 完成,应该就自动删除了

1 个赞