|
查看: 2599|回复: 7
|
一个query很多loop和一个heavy query
[复制链接]
|
|
|
本帖最后由 mylover 于 7-12-2010 03:54 AM 编辑
有个问题想请问for x=1; x<=1000; x++
select * from member where mid=x;
和
select * from member where mid IN (1,2,3...1000);
哪一个会比较快呢?
table是million row |
|
|
|
|
|
|
|
|
|
|
发表于 6-12-2010 09:42 PM
|
显示全部楼层
SELECT * FROM TABLE WHERE mid BETWEEN 1 AND 1000  |
|
|
|
|
|
|
|
|
|
|
发表于 7-12-2010 02:18 AM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 7-12-2010 03:53 AM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 7-12-2010 11:08 AM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 3-10-2011 05:32 PM
|
显示全部楼层
select * from member where mid IN (1,2,3...1000);
如果in clause 太多,会stack overflow exception... |
|
|
|
|
|
|
|
|
|
|
发表于 4-10-2011 01:35 PM
|
显示全部楼层
如此极品的IN clause,真的是第一次看到。。。 |
|
|
|
|
|
|
|
|
|
|
发表于 29-10-2011 11:24 AM
|
显示全部楼层
|
为是么要Loop 1000 呢?既然你都是要用 number as key。除非你是一次只需要一row。不然,用 SELECT * FROM TABLE WHERE mid BETWEEN 1 AND 1000;会比较好。 |
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|