如何限制临时表的大小?

2023-12-26

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

有没有办法限制临时表的最大大小对于磁盘上的表,这样表就不会超出磁盘空间?tmp_表大小 https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_tmp_table_size尽管名称如此,但仅适用于内存表。我在 中没有找到任何相关内容文档 https://dev.mysql.com/doc/refman/5.7/en/internal-temporary-tables.html.


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

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

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

更改后应重新启动 mysql 服务。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何限制临时表的大小? 的相关文章

  • 一次从多个表中删除行

    我正在尝试将 2 个查询合并为一个这样的查询 result db gt query DELETE FROM menu WHERE name new or die db gt error result db gt query DELETE F
  • 映射 mysql 中同一个表的多个值

    您好 我必须使用另一个表中的值 id 获取文本值 表 1 包含值 ID 表 2 包含名称和值 ID 表 1 SEVERITY OCCURENCE DETECTABILITY 2 3 4 表 2 id name value 1 Very Hi
  • POINT 列上的 MySQL INSERT/UPDATE

    我正在尝试用我国家的地理位置填充我的数据库 我的一张表有 4 个字段 ID PK 纬度 经度和地理点 EDIT SCDBs Punto Geografico SET lat 18 469692 SET lon 63 93212 SET g
  • 显示标准化数据

    跟进问题 添加 2 个不同表的总和 https stackoverflow com questions 39717541 adding sum from 2 different tables 我创建了3个表 members videos v
  • MySql - 复制监控工具[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个主 从 MySql 复制 我正在寻找一个允许我监视复制的工具 查看它没有错误 检查滞后等 我更喜
  • 海量记录的bulk_create最佳实践

    I use bulk create将 1 mio 记录插入到新表中 需要 80 秒 Django 只使用一个 CPU 核心 大约 25 CPU 但没有一个核心达到 100 我相信有改进的潜力 这是代码 class Stock models
  • 如何在mysql中选择具有相同值集的列?

    我的桌子是 patients pid name city disease did dname has disease did pid 我想列出具有相同疾病组的患者 pid 和 did 分别是患者和疾病表中的主键 并且是 has diseas
  • 在 MySQL 中对整数字段运行带引号的数字(字符串)查询时会发生哪些复杂情况

    在 SQL 中 不应引用整数 因为如果引用 它将是一个字符串 但我很好奇如果我这样做会出现什么问题 并发症 例如 SELECT FROM table WHERE id 1 正确的 vs SELECT FROM table WHERE id
  • 只获取倒数第二条记录 - mysql-query

    我有一个如下表记录 my table id rating description 1 0 0 bed 2 1 0 good 3 0 0 bed 4 1 0 good 5 0 0 bed 6 0 0 bed 7 0 0 bed 现在我通过评级
  • 每月获取记录,但如果该月没有记录,则为零

    如果我有以下 SQL 表 Tests id type receiveDate 1 Blood 2012 01 18 2 Blood 2012 01 20 3 Blood 2012 01 18 4 Blood 2012 03 01 5 Blo
  • 慢速自动增量重置

    我有很多表 由于某些原因 我需要在应用程序启动时调整这些表的自动增量值 我尝试这样做 mysql gt select max id from item max id 97972232 1 row in set 0 05 sec mysql
  • 让登录更安全

    我已使用此代码进行管理员登录 仅当用户输入正确的用户名和密码时才应打开loginhome php 但后来我意识到这根本不安全 任何人都可以直接访问 mywebsite loginhome php 而无需登录 注销后 可以使用后退按钮打开 l
  • PHP MySql 百分比

    我的问题是关于百分比 我不是专家 所以我会尽力以更好的方式进行解释 我的 mysql 服务器中有一个表 假设有 700 条记录 如下所示 Name country language Birth Lucy UK EN 1980 Mari Ca
  • 如何在MYSQL中将整个字符串小写并保持第一个大写[重复]

    这个问题在这里已经有答案了 我的表栏目 我预期的输出会在列中发生变化 Smith Allen Doyle Dennis Baker Waker 这是我尝试过的 但不起作用 UPDATE TABLE employee SET last nam
  • PHP MySQL 使用选项/选择 HTML 表单标签进行多重搜索查询

    我正在尝试使用两个搜索字段设置基本的 MySQL LIKE 搜索 我不想拥有它 所以它有多个可选搜索字段 例如if isset POST city isset POST name 我不知道如何用 HTML 来做到这一点
  • MaxListenersExceededWarning:检测到可能的 EventEmitter 内存泄漏。添加了 11 条消息列表。使用emitter.setMaxListeners()来增加限制

    我知道这可能会标记为重复的解决方案 但堆栈溢出的解决方案对我不起作用 Problem node 5716 MaxListenersExceededWarning Possible EventEmitter memory leak detec
  • Mysql用in语句限制

    我正在写一个查询 SELECT user bookmarks id as user bookmark id bookmark id user bookmarks user id bookmark url bookmark website b
  • 学说迁移后备

    我们正在使用原则迁移 当迁移包含多个操作并且其中一个操作失败时 通常会出现问题 例如 如果迁移添加了 5 个外键 其中第 5 个失败 而字段长度不同 则修复字段错误并重新生成迁移不会not修复整个问题 而现在出现一个与 4 个密钥已存在有关
  • 随机组合 MySQL 数据库中的两个单词

    我有一个包含名词和形容词的数据库 例如 id type word 1 noun apple 2 noun ball 3 adj clammy 4 noun keyboard 5 adj bloody ect 我想创建一个查询 它将抓取 10
  • mysql排序和排名语句

    我需要一些 mysql 语句的帮助 我的表 1 有 7 列 表 2 有 8 列 额外的列名为排名 我的语句应该是这样的 从表 1 中选择全部 然后按 用户数 排序 将其插入表 2 中并排名开始 1 2 3 等 table 1 usernam

随机推荐

  • laravel背包用户密码

    我在背包里为我的用户做了一个crud 当我创建用户时 一切正常 但如果我更新 我会收到 密码 错误 因为如果我不想更新它 我会将其留空 密码不能为空 如果我将其留空 如何才能不在 POST 中添加 密码 或者我如何默认当前密码 还有一个 确
  • 使用索引查找相似图像的算法

    有一些非常好的图像比较工具可以找到相似的图像 即使它不完全相同 例如 尺寸 壁纸 亮度 对比度的变化 我这里有一些示例应用程序 Unique Filer 1 4 共享软件 https web archive org web 20010309
  • 使用 --recursive 和 --bare 克隆 git 存储库

    为了克隆存储库及其所有子模块 我知道您可以这样做 git clone recursive
  • 作为 Snakemake 工作流程输入的值数组

    我开始将我的工作流程从Nextflow to Snakemake并且已经在我的管道开始处碰壁了 管道通常以数字列表开头 代表我们检测器的 运行编号 我所拥有的例如是run list txt like detector id run numb
  • 如何使用 EF Core 在 ASP.NET Core 中取消应用迁移

    当我跑步时PM gt Remove Migration context BloggingContext在 VS2015 中使用 EF Core 的 ASP NET Core 项目出现以下错误 System InvalidOperationE
  • fastApi 中的 python 全局变量无法正常工作

    我有一个简单的 fastApi 演示应用程序 它实现了一个功能 通过调用名为changeResponse的post api来获取不同的响应json changeResponse api只是改变了一个全局变量 另一个api通过同一个全局变量返
  • 手机上的陀螺仪漂移

    很多帖子都讨论了陀螺仪漂移问题 有些人说陀螺仪读数有漂移 但其他人说积分有漂移 原始陀螺仪读数有漂移 link https stackoverflow com questions 1586658 combine gyroscope and
  • 在 ASCIIFoldingFilter 中使用静态“foldToAscii”方法

    我一直在使用 ASCII 折叠过滤器来处理变音符号 不仅适用于弹性搜索中的文档 还适用于各种其他类型的字符串 public static String normalizeText String text boolean shouldTrim
  • 单个解析服务器中的多个应用程序

    我花了整整一周的时间将 parse com 上托管的应用程序迁移到解析服务器 设法使一切完美运行 唯一的问题是让它在单个硬件上运行多个应用程序 而无需为此分配服务器应用程序它有 它会变得昂贵 我读了这个讨论 https github com
  • android 多数据源的分页库DataSource.Factory

    我有多个数据源 但只有一个DataSourceFactory 因此 所有来源都共享一个工厂 我需要每个数据源一个 DataSourceFactory 在我的应用程序中 我有多个 RecyclerViews 视图 因此有多个自定义数据源 那么
  • PHP 5.4 中删除 safe_mode 后的安全性在哪里

    我心里有一个棘手的问题 safe modePHP 5 4 中已删除 那么此删除的安全性如何 这是否意味着任何应用程序都可以执行任何程序 为此目的使用什么技术来防止此类暴力行为 本文 http ilia ws archives 18 PHPs
  • java.lang.SecurityException AWSCredentialsProvider 签名者信息不匹配

    我正在使用 2 个亚马逊提供的库 redshift jdbc42 1 2 27 1051 and aws java sdk core 1 11 600 两个库都定义了一个类AWSCredentialsProvider包装下com amazo
  • 将文件从服务器下载到 Ionic2 应用程序中

    我需要在我的中实现一个功能Ionic2用户可以将特定视频文件下载到 Ionic2 应用程序中 经检查Ionic Native部分 我发现以下插件可用 File 文件选择器 文件开启器 文件路径 但找不到诸如 cordova 插件 文件传输
  • 如何在Windows 10上更改Node JS进程名称?

    我有一个node js在 Windows 10 上运行的进程 我想更改进程的名称 以便可以获得一些性能详细信息 我尝试改变流程 标题的财产process对象但是 它不会反映在电源外壳中 我只能找到node作为进程名称 有没有其他方法可以更改
  • Exhaustive-deps 规则无法将自定义挂钩的结果识别为 React 参考

    想象一个钩子 export function useMounted const mounted React useRef
  • Spring Boot 多数据库:没有 EntityManagerFactoryBuilder 类型的合格 bean

    我们的 Spring Boot 应用程序中有两个数据库 称为源数据库和目标数据库 这是这些的配置 源配置 package com alex myapp config import javax persistence EntityManage
  • PHP 字符串类型提示 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在另一个线程完成时停止一个线程

    我有这个代码 Thread thread1 new Thread this DoSomething1 Thread thread2 new Thread this DoSomething2 thread1 Start thread2 Sta
  • OpenSSL:加密/解密例程的输入和输出缓冲区可以相同吗?

    例如 在 int EVP EncryptUpdate EVP CIPHER CTX ctx unsigned char out int outl unsigned char in int inl can out in 我只是偶然发现这个问题
  • 如何限制临时表的大小?

    我的数据库中有较大的 InnoDB 表 显然 用户能够使用 JOIN 进行 SELECT 从而生成临时的大型 因此位于磁盘上 表 有时 它们太大以至于耗尽了磁盘空间 导致各种奇怪的问题 有没有办法限制临时表的最大大小对于磁盘上的表 这样表就