🗣 Wd提问: mysql filtered
🤖 Ai回答: 在 MySQL 中,“filtered” 是 `EXPLAIN` 或 `EXPLAIN FORMAT=JSON` 输出中的一个字段,用于表示 查询优化器预估的、经过 WHERE 条件过滤后剩余的行数占扫描行数的百分比。
📌 什么是 `filtered`?
含义:`filtered` 表示在执行某个访问方法(如全表扫描、索引扫描)后,有多少比例的数据会被 WHERE 条件过滤掉。
单位:百分比(0 ~ 100)
值越小 → 过滤效果越差 → 可能需要优化 WHERE 条件或索引
值越大 → 过滤效果越好 → 查询效率可能更高
✅ 示例说明
假设我们有一个表:
sql
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
);
INSERT INTO users VALUES
(1, 'Alice', 25),
(2, 'Bob', 30),
(3, 'Charlie', 35),
(4, 'David', 25);
执行查询:
sql
EXPLAIN SELECT * FROM users WHERE age = 25;
输出可能如下(简化):
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
|
| 1 | SIMPLE | users | ALL | NULL | NULL| NULL | NULL| 4 | 50.00 | Using where |
filtered = 50.00 → 表示 MySQL 预计在扫描全部 4 行后,会有 50% 的行(即 2 行)满足 `age = 25`。
🔍 更深入理解
`rows` 字段:MySQL 预计要扫描的行数。
`filtered` 字段:在这 `rows` 行中,有多少比例会通过 WHERE 条件。
实际过滤后的行数 ≈ `rows × (filtered / 100)`
例如:
`rows=1000`, `filtered=10` → 预计最终返回 100 行
⚠️ 注意事项
1、`filtered` 是预估值,不是精确值。
2、如果没有使用索引(`type=ALL`),且 `filtered` 很低(比如 < 10%),说明 WHERE 条件过滤性差,可能需要加索引。
3、如果 `filtered` 接近 100%,说明条件几乎不过滤数据,可能是全表扫描但WHERE没起作用。
4、在 `EXPLAIN FORMAT=JSON` 中,`filtered` 以小数形式出现(如 `filtered: 50.0`)。
💡 如何利用 `filtered` 优化查询?
如果 `filtered` 很低(< 10%),考虑为 WHERE 条件中的列建立索引。
如果 `filtered` 很高(接近 100%),说明条件基本不筛选数据,可能需要重新设计查询或检查是否真的需要这个条件。
结合 `rows` 和 `filtered` 判断查询代价:`rows × filtered/100` 越小越好。
🧪 示例:加索引前后对比
加索引前:
sql
EXPLAIN SELECT * FROM users WHERE age = 25;
rows=4, filtered=50.00 → 扫描4行,保留2行
加索引后:
sql
CREATE INDEX idx_age ON users(age);
EXPLAIN SELECT * FROM users WHERE age = 25;
rows=2, filtered=100.00 → 扫描2行,保留2行(因为索引直接定位到匹配行)
✅ 索引让 `rows` 减少,同时 `filtered` 升高,效率提升!
📚 总结
| 字段 | 含义 | 优化建议 |
|
| `rows` | 预估扫描行数 | 越小越好 |
| `filtered` | 过滤后保留的比例(%) | 越高越好(接近100%理想) |
📌 关键点:`filtered` 帮助你判断 WHERE 条件的“选择性”,从而指导你是否需要添加索引或重构查询。
如果你有具体的 `EXPLAIN` 输出,欢迎贴出来,我可以帮你分析 `filtered` 的意义和优化方向!
📣 商家广告:





0
IP地址: 198.140.106.111
搜索次数: 0
提问时间: 2025-11-11 15:46:20
🛒 域名购买:
soukan.com.cn
jamctr.com
691.net.cn
cgbc.cn
ef.gs
souhuai.com.cn
191.net.cn
59.gold
app.ln.cn
yb.gs
❓️ 热门提问:
idc 德国
服务器 虚拟机
电脑有主机
查找服务器
防静电地板机房架空
PHP二次开发异步处理
服务器托管哪里
网络服务器网址
腾讯广告代理政策
30天试用云服务器
豌豆Ai站群搜索引擎系统
🌐 域名评估:
musk.black
62.gs
ll.xj.cn
su8.hb.cn
ev.gs.cn
aaaa.gx.cn
75.gold
ag.cq.cn
ii.he.cn
apbpr.com
⛏ 最新挖掘:
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜
🖌 热门作画:
🤝 关于我们:
豌豆Ai
域名
建站
站群
留痕
推广
评估
源码
开发Ai
工具
日记
价格
加盟
广告
流量
留言
联系
🗨 加入群聊:
🔗 友情链接:
网站搜索
北京品牌推广
ai提问
🧰 站长工具:
Ai工具 whois查询 搜索
📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。