mysql参数-优化器 range_optimizer_max_mem_size 相关

一、背景

最近出现了一个 in 元素过多导致全表扫的案例,根本原因是 range_optimizer_max_mem_size 的影响,详见文档

二、详解

range_optimizer_max_mem_size

  • 值为 0 表示"无限制" 。
  • 当该值大于 0 时,优化器会跟踪使用范围访问方法时消耗的内存。如果即将超过指定的限制,则会放弃范围访问方法,转而考虑其他方法,例如全表扫描。这可能并非最优方法。如果发生这种情况,将出现以下警告(其中 N是当前 range_optimizer_max_mem_size 值):
bash 复制代码
Warning    3170    Memory capacity of N bytes for
                   'range_optimizer_max_mem_size' exceeded. Range
                   optimization was not done for this query.
  • 对于UPDATE 和 DELETE语句,如果优化器回退到全表扫描并且 sql_safe_updates 启用了系统变量,则会发生错误而不是警告,因为实际上没有使用键来确定要修改哪些行。
相关推荐
一米阳光86612 小时前
软考(中级)软件设计师核心笔记(3)数据库系统——概念、数据库设计
数据库·笔记·职场发展·软考·软件设计师
奈斯先生Vector2 小时前
告别工具碎片化:基于 Nano Banana 全模态 AI 聚合架构搭建“文本-图像-视频”自动化协同生产线
运维·数据库·人工智能·架构·自动化·aigc·音视频
建筑工程企业管理系统4 小时前
erp工程项目管理系统落地价值:实现工程多项目成本精细化核算与管控
大数据·数据库·人工智能
AI大模型-小华4 小时前
Codex 三方充值快速入门指南
java·前端·数据库·chatgpt·ai编程·codex·chatgpt pro
foolishlee5 小时前
Neon wal日志处理流程2
数据库
2601_965798476 小时前
Is Hygia Good for Maid & Janitorial Sites? Technical Audit
服务器·网络·数据库
Cloud云卷云舒6 小时前
海山数据库(HaishanDB)面向工业云场景技术方案
数据库·haishandb·工业云·移动云海山数据库·天工云
逃逸线LOF6 小时前
Spring配置数据源{连接池}(Druid、c3p0)
java·数据库·spring
☆凡尘清心☆8 小时前
CentOS Stream 9 专用 LNMP 全自动一键脚本
linux·运维·mysql·nginx·lnmp·centos stream 9
严同学正在努力9 小时前
从备份到恢复:我用 30 分钟恢复了误删的核心业务表
android·java·数据库·ai