MySQL代替in之临时表
2024-09-08 19:39:53
如果我们正常的使用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
使用这种临时表的方式,查询出来就会很快。
最新文章
- arrayToJson将数组转化为json格式的js代码 ///////////////////////zzzzzzzzzzzzzzzz
- HelloWorld Makefile Template
- Nginx IP访问控制,只允许指定的IP地址访问
- 谈谈Linux下动态库查找路径的问题 ldconfig LD_LIBRARY_PATH PKG_CONFIG_PATH
- Ubuntu 16.04 更新源
- jsoncpp操作 json
- 对象复制、克隆、深度clone
- (16)odoo8 API 指南
- JAVA与C++的区别和联系
- <; meta http-equiv = ";X-UA-Compatible"; content = ";IE=edge,chrome=1"; />;
- Delphi XE2 生成的.exe 在未安装有Delphi的电脑上运行提示 “丢失 rtl160.bpl”
- 在开源中国(oschina)上创建托管项目
- Spring MVC入门讲解
- Linux开发-makefile
- bzoj3295[Cqoi2011]动态逆序对 树套树
- android 实现倒影
- 佛祖保佑永无BUG代码注释
- 指尖下的js ——多触式web前端开发之二:处理简单手势(转)
- UESTCACM 每周算法讲堂 延迟标记+bfs dfs搜索入门
- javascript脚本程序执行消耗的时间
热门文章
- flutter卡在Running Gradle task &#39;assembleDebug&#39;...
- Typora的初使用
- 整合log4j
- robots.txt详解[通俗易懂]
- pat题目整理
- Python中的容器、迭代器、生成器
- VMWare 12 Mac 10.11 XCode 7.3 Ipad真机调试重要问题总结
- 攻防世界Web篇——unserialize3
- java通信
- Application.HandleMessage与Application.ProcessMessage