查询优化
已收录文章:10篇
-
MySQL 8.4 的 CTE 不一定会生成临时结果集。本文用 EXPLAIN 和 optimizer_switch 判断 CTE 是被合并还是物化,并说明 derived_merge、NO_MERGE 与多次引用的边界。253 收藏
-
Redis ZINTERCARD 只返回多个 Sorted Set 的交集数量,适合在推荐、活动资格和筛选接口中先做交集基数判断。本文用 redis-cli 拆开 ZINTERCARD 与 ZINTER、LIMIT 的差别,说明空 key、集群同槽和“大于阈值”判断的边界。254 收藏
-
数据库 · MySQL | 1个月前 | MySQL · 查询优化 · 统计信息 · 性能排查 · 执行计划 EXPLAIN ANALYZE MySQL 8.0 直方图统计 ANALYZE TABLE当 MySQL 对低基数或倾斜数据估算失准时,直方图统计可以补充普通索引统计。本文用订单状态筛选案例建立基线,说明如何生成、检查、验证和撤销直方图,并划清它不能替代索引的边界。420 收藏
-
订单列表把渠道、会员等级放进 JSON 后,筛选条件容易变成逐行计算。本文用 MySQL 生成列和索引把 JSON 路径变成可核对的查询字段,同时处理缺失键、空字符串、类型转换和写入成本。351 收藏
-
搜索框查询一上线就变慢,很多时候不是数据量突然失控,而是 LIKE 条件写法让索引用不上。本文从慢查询现场开始,逐步验证左通配符、执行计划、前缀匹配和业务改写,整理一套更稳的模糊搜索排查方法。308 收藏
-
问题背景mysql主从同步1、结构:主库业务数据增删改查,从库是负责报表的查询2、问题:主从异常导致报表数据不准确,上线期间,出现多次,发现时同步已经中断很长时间。3、解决:脚本自136 收藏
-
优化排序查询 自定义变量的一个重要特性是你可以同时将该变量的数学计算后的结果再赋值给该变量,类似于我们的 i = i + 1这种方式。下面是一个用于计算数据表行号的例子: SET @rownum := 0;494 收藏
-
最近的工作中实现了一个定时统计功能:需要按指定顺序,从源表中取出数据,经过分组合并,插入目标表。源表数据量相当大,有几千万行,显然不适合一次性取出(如果是一次性的脚本,在413 收藏
-
上一篇:MySQL性能管理及架构设计(二):数据库结构优化、高可用架构设计、数据库索引优化 一、SQL查询优化(重要) 1.1 获取有性能问题SQL的三种方式 通过用户反馈获取存在性能问题的SQL152 收藏
-
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描480 收藏