如果我们正常的使用IN去查询

SELECT * FROM a
JOIN b ON a.id = b.id
WHERE b.tag_id IN (1,2,3,4,5,6)

这种因为in里面的参数是连续的,它很快

如果in里面的数据不是连续的,

SELECT * FROM a
JOIN b ON a.id = b.id
WHERE b.tag_id IN (88,2,303,410,581,316)

这种数据量一起来,它会很慢

解决方法,将in里面的数据更改为临时表去关联查询

SELECT * FROM a
JOIN b ON a.id = b.id
JOIN (SELECT tag_id FROM xxx表) AS `临时表` ON `临时表`.tag_id = b.tag_id

临时表里面的数据就是我们的:88,2,303,410,581,316

使用这种临时表的方式,查询出来就会很快。

最新文章

  1. arrayToJson将数组转化为json格式的js代码 ///////////////////////zzzzzzzzzzzzzzzz
  2. HelloWorld Makefile Template
  3. Nginx IP访问控制,只允许指定的IP地址访问
  4. 谈谈Linux下动态库查找路径的问题 ldconfig LD_LIBRARY_PATH PKG_CONFIG_PATH
  5. Ubuntu 16.04 更新源
  6. jsoncpp操作 json
  7. 对象复制、克隆、深度clone
  8. (16)odoo8 API 指南
  9. JAVA与C++的区别和联系
  10. < meta http-equiv = "X-UA-Compatible" content = "IE=edge,chrome=1" />
  11. Delphi XE2 生成的.exe 在未安装有Delphi的电脑上运行提示 “丢失 rtl160.bpl”
  12. 在开源中国(oschina)上创建托管项目
  13. Spring MVC入门讲解
  14. Linux开发-makefile
  15. bzoj3295[Cqoi2011]动态逆序对 树套树
  16. android 实现倒影
  17. 佛祖保佑永无BUG代码注释
  18. 指尖下的js ——多触式web前端开发之二:处理简单手势(转)
  19. UESTCACM 每周算法讲堂 延迟标记+bfs dfs搜索入门
  20. javascript脚本程序执行消耗的时间

热门文章

  1. flutter卡在Running Gradle task 'assembleDebug'...
  2. Typora的初使用
  3. 整合log4j
  4. robots.txt详解[通俗易懂]
  5. pat题目整理
  6. Python中的容器、迭代器、生成器
  7. VMWare 12 Mac 10.11 XCode 7.3 Ipad真机调试重要问题总结
  8. 攻防世界Web篇——unserialize3
  9. java通信
  10. Application.HandleMessage与Application.ProcessMessage