暂无图片
明明有主键索引,为什么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有哪几类物理文件?
回答 1
已采纳
MySQL数据库的文件包括:1.参数文件:my.cnf。2.日志文件:包括错误日志、查询日志、慢查询日志、二进制日志。3.MySQL表文件:用来存放MySQL表结构的文件,一般以.frm为后缀。4.S
主从手动切换如何进行?
回答 1
B上resetslaveall清空的是B上的中继日志,这个中继日志是从A同步过来的,一般同步完会自动删掉的在A上changemastertohost'B',然后再开启同步就可以从B上拉取日志了
考虑MySQL 服务器中的 key buffer。关于这个特性,哪两种说法是正确的?
回答 3
已采纳
A它只缓存MyISAM表的索引块。C它是一个全局缓冲区。
MySQL不提供数组,只能做成表吗?
回答 4
已采纳
数据库几乎(没见过有,可能有)都不提供,数据需要在程序中去实现。
MySQL索引创建描述,正确的是?
回答 1
已采纳
BCD
如何用Heidi打开.db文件
回答 2
已采纳
这个文件你cat一下也行。或者记事本。
从mysql同步到tidb,上下游的表结构必须一致吗(字段类型和顺序)?
回答 1
mysql同步到tidb。就是在同步的时候,上游的mysql表结构和下游的tidb表结构必须要一致吗?(类型和顺序)目前是必须要一致的,全量阶段可以不care,但是增量阶段基于mysqlrow格式的b
MySQL 重建主主集群,一定要执行reset master吗?
回答 1
在MySQL中重建主主集群时,执行RESETMASTER语句是一个可选步骤,具体取决于你的需求和集群的当前状态。RESETMASTER语句的作用是清除二进制日志,包括所有已写入的二进制日志文件和日志位
MySQL数据库频繁宕机故障
回答 6
看看主从复制那款呢
mysql只迁移多个数据库中的一个数据库,通过复制数据库文件夹的方式,元数据怎么才能导过去呢
回答 1
通过showcreatetablet1获得表的元数据。±±|Table|CreateTable|±±|t1|CREATETABLEt1(idintDEFAULTNULL)ENGINEInnoDBDEF