暂无图片
明明有主键索引,为什么mysql索引失效
我来答
分享
仓管员
2021-05-13
明明有主键索引,为什么mysql索引失效

执行语句,发现仓储表wh_warehouse全表扫描

EXPLAIN
SELECT
*
FROM
wh_inbound_order_detail e
LEFT JOIN wh_warehouse ww
ON ww.id = e.warehouse_id
WHERE ww.isGs = 0
AND ww.is_jiancai = 0

明明有索引的啊,为什么呢?只有主键索引的时候没没匹配到,那么干脆在创建个联合索引吧,没想到还是没匹配到。

1620623354367.png

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
cqiwen

你的where条件中引用的列虽然有建索引,但它是复合索引,你引用时并没有在where中带第一列:id列,所以它不会走这个复合索引。

暂无图片 评论
暂无图片 有用 0
打赏 0
我是路人甲

where条件与索引都不匹配,把复后索引中的id去掉试试。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
mysql中数据表DATA_LENGTH比INDEX_LENGTH小
回答 6
看情况得把ibd文件分析一下https://github.com/johnliu2008/pyinnodbpageinfo
MySQL 8.0 版本报错:Error 1193: unkonwn system variable 'validate password policy
回答 3
validatepassword组件确认安装了吗?安装mysql>INSTALLCOMPONENT'file://componentvalidatepassword';QueryOK,0rows
mysql对使用cpu有限制吗?
回答 2
不会
MYSQL怎么修改文件存储路径?
回答 2
已采纳
在my.cnf中datadir改改。注意要重启生效。
查询 mysql 数据库记录时,如果存在多个索引, mysql 是选择最优的一个来使用,还是合并所有索引来执行呢?
回答 2
大多数情况都是选择最优。
mysql mgr主从复制错误问题
回答 3
你这是MGR的每个节点数据不一致了。3个中应该2个是好的吧。只有一个有问题是不是?重建这个节点。如果是8版本后期,直接clone数据库。
nacos作为配置中心,修改配置更新但不生效
回答 1
可以把应用重新启动一下,对于像mysql来说,原先的session不生效,新的链接才能生效
在mysql中,当子查询语句含有in或者exists关键字时会触发mysql内部查询转换成semi join,以下哪些属于semi join的策略?
回答 1
已采纳
选ABCD
mysql 的ibd文件能不能设置多大后就生成一个新的?
回答 2
可以用分表工具
如果mysql在ddl的瞬间断电了或者说mysqladmin shutdown退出服务,这时候ddl会出现异常吗?
回答 2
8.0支持原子ddl操作,会回滚相关操作。