sql中in和=的区别,大数据量哪个性能更好?

gaojunling3 2012-07-06 06:04:19
sql中in和=的区别,大数据量哪个性能更好?
例如:select * from table where column in (1,2....);
select * from table where column = 1 or column = 2.....
column 字段建立了索引
请问大牛们,哪个效率更高,原理是什么
...全文
1572 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
码无边 2012-07-14
  • 打赏
  • 举报
回复
关键看数据量
IT黑名单 2012-07-13
  • 打赏
  • 举报
回复
这不是in和=的区别,是in和or的区别 效率应该是一样的
夜灯下的人 2012-07-12
  • 打赏
  • 举报
回复
任何句子在比较性能的时候,一定要使用explain在实际数据库中测试,单拿 一条句子讲性能意义不大的。有些句子看上去很简单,在小表里查得快,一到大表里,慢得要死。所以就用执行计划看一下
zecool20 2012-07-09
  • 打赏
  • 举报
回复
摘自:mysql必知必会 第58页。
1.IN操作符一般比OR操作符清单执行更快.
2.IN最大的优点是可以包含其他SELECT语句。使得能够动态的建立WHERE语句。
rucypli 2012-07-09
  • 打赏
  • 举报
回复
一样的 不新你看执行计划


explain出来一样 那就一样效率
Rotel-刘志东 2012-07-06
  • 打赏
  • 举报
回复
具体执行计划看一下。
explain select * from table where column in (1,2....);
explain select * from table where column = 1 or column = 2.....
比较一下不就知道了。
ACMAIN_CHM 2012-07-06
  • 打赏
  • 举报
回复
理论上一样。
brucenan999 2012-07-06
  • 打赏
  • 举报
回复
条件少,适合用IN.

如果结果集多,还是要用=

56,675

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧