51Testing软件测试论坛

标题: mysql in很简单的一条语句 [打印本页]

作者: 测试积点老人    时间: 2020-10-12 15:36
标题: mysql in很简单的一条语句
SELECT * FROM ticket WHERE Card_Id IN(SELECT Id FROM card WHERE Org='1');
ticket表大概20万数据,card 大概2万数据, 这条in的子查询没有走索引。如果是card 表数据量很小的时候会走索引。
将上面的语句换成左连接查询也不走索引。
换成下面的写法可以正常走索引
SELECT Card_Id FROM ticket WHERE Card_Id IN(SELECT Id FROM card WHERE Org='1');
不知道是什么原因,哪位mysql高手能指点。不走索引

作者: qqq911    时间: 2020-10-13 10:06
尽量少用in,
作者: bellas    时间: 2020-10-13 10:28
参照下这个https://www.cnblogs.com/wxdblog/p/9964016.html
作者: 郭小贱    时间: 2020-10-13 11:20
参考这篇文章看看 https://q.cnblogs.com/q/129598/
作者: jingzizx    时间: 2020-10-13 13:20
看楼上链接
作者: tianxiner    时间: 2020-10-13 13:51
参考这里面的回答:https://q.cnblogs.com/q/129598/




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2