背景:公司一个商品的标准库,里面放着各种基本的商品信息,然后在我们的平台上有好多个商家,入驻的商家会根据需要去关联商品,一般显示的都是除去商家已经关联的商品。之前的查询方法是先查商家已经关联的药品ID,然后用sql 《not in》去商品标准库中查询其余的商品信息。然后就是非常慢,查出来的结果需要10秒钟,数据量在25W左右,但是不明白用了分页还是比较慢。
目前的解决方案: 现在的优化方案是不用not in 函数,因为这个函数用不到索引,所以计划先把标准库的数据查询出来,再把商家已经关联的商品查出来,再把两个集合求差集,最后再内存中进行分页。
后续问题:因为加载到内存的数据量多大,而且也用不到这么多数据,所有问一下大家有没有更好的方案。