gpt4 book ai didi

mysql - 如何限制临时表的大小?

转载 作者:IT老高 更新时间:2023-10-29 00:17:14 25 4
gpt4 key购买 nike

我在数据库中有较大的 (InnoDB) 表;显然,用户能够使用 JOIN 进行 SELECT,从而生成临时的大型(因此在磁盘上)表。有时,它们太大以至于耗尽磁盘空间,导致各种奇怪的问题。

有没有办法限制临时表的最大大小磁盘上的表,以便表不会过度增长磁盘? tmp_table_size仅适用于内存表,尽管名称。我在 documentation 中没有找到任何相关内容.

最佳答案

在 MariaDB 和 MySQL 中没有此选项。几个月前我遇到了和你一样的问题,我搜索了很多,最终通过在 NAS 上为临时数据集创建一个特殊的存储区域来部分解决。

在您的 NAS 上创建一个文件夹或在内部 HDD 上创建一个分区,根据定义,它的大小将受到限制,然后挂载它,并在 mysql ini 中,将临时存储分配给该驱动器:(选择 windows/linux )

tmpdir="mnt/DBtmp/"
tmpdir="T:\"

修改后应该重启mysql服务。

使用这种方法,一旦驱动器已满,您仍然会遇到磁盘查询的“奇怪问题”,但其他问题都没有了。

关于mysql - 如何限制临时表的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43611304/

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