当sql语句中的where条件是where id in(1,2,3,4,8,11,23,56,89,110,...),即当in的数量相当大时,这种sql语句是很劣质的,那么用什么其它更好的方法解决这样的问题呢?
解决方案 »
- 关于点击链接触发事件的问题
- 怎么写查找一段HTML代码中<a href=""></a>所有超链接地址的正则表达式?
- 还继续做php吗?
- 【100分求助】富文本编辑框,有自带的吗?还是要自己写?或者需要借助第3方库?
- [代码]session对象保存控制器,第一次拿出代码给大家批.
- mysql疑问:将表a中按照addtime倒序的最后一条数据删除及表b中所有aid=表a中所删记录id的记录,怎样用纯mysql语句实现?
- 如何用最简单的方法,定义一个PHP系统的全局变量
- PHP配置的问题
- 怎样强制 PHP 的所有变量在使用前必须先定义~~~谢谢~~~
- PHP发布新的CHM格式文档
- 关于apache服务器启动虚拟主机服务的问题,求大神指点
- 求教一个 ajax 的长连接问题。。
$sql = 'select * from table where id in(' . $id . ')';$id 的值是多个的,当它的值是一个很庞大的数目时,用in显然是很不明智的,求高手妙方!!!
就看LZ 到底Where 来干什么的. 是更新,删除还是怎么的.再说吧
http://explainextended.com/2009/08/18/passing-parameters-in-mysql-in-list-vs-temporary-table/不过,就如blog结尾所说,只有在数量比较大的情况下才能看出明显效果.
如果你的id就那么几个,几十个...我不认为需要考虑这点差别.1,2楼分开查询的方法我认为不可取, 因为mysql内部的处理大概也不会比那样更差吧...
————————————————————————————————
基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)
接着楼主提个问,嘿嘿没测试过,你的意思是联合查询比where in 更好?