来求问老铁们一个数据库问题

我现在有一张有数千万条数据的mysql table, 我的查询语句是
```
SELECT [columns]
FROM table_name
WHERE
item_id1 NOT IN (id1, id2, id3...)
AND
item_id2 IN (id1, id2, id3...)
AND
(event='event1' or event='event2');
```
item_id1, item_id2, event都是主键
并且我以(item_id1, event, item_id2) 建了索引 但是查询速度非常慢(2分钟以上) 有大佬知道如何排查 怎么提升效率吗
其他的查询都很快 大概2秒之内都能拿到结果 唯独这一个查询非常的慢
#笔试题目#
全部评论
你不知道not .in .
点赞 回复 分享
发布于 2019-08-14 13:31
来更新一下 楼上老铁说的对 问题出在了not in上面 mysql自动进行了全表搜索 加上 select * from table FORCE INDEX (index_name) where .... 就算是千万级别的数据库 查询时间也只有0.2秒了
点赞 回复 分享
发布于 2019-08-14 15:00

相关推荐

01-17 12:35
吉首大学 Java
秋招之BrianGriffin:自己的工作自己做!😡
点赞 评论 收藏
分享
02-05 08:49
已编辑
武汉大学 Web前端
野猪不是猪🐗:36k和36k之间亦有差距,ms的36k和pdd的36k不是一个概念
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务