MySQL用in查询,in后面的集合比较大,怎么优化SQL

MySQL,select用in查询,in后面的集合比较大大概有5000条,这个表记录比较多,in查询的字段是有索引

原本SQL类似于这样
SELECT a FROM table WHERE a in('1','2','2') and ohterCol = '123'

怎样优化可以提交查询效率

阅读 7k
2 个回答

如果你in集合里的内容就是这样形式存在而不是其他语句查询出来的话
那我能想到的就是让集合里的内容有序排列,然后增加innodb_buffer_pool的大小,提高一下缓存的命中率

5000条数据能通过其他查询实现吗?
如果可以的话,也这个查询和目标表进行join,效率可能会高一些。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题