sql中in和=的区别,大数据量哪个性能更好?
例如:select * from table where column in (1,2....);
select * from table where column = 1 or column = 2.....
column 字段建立了索引
请问大牛们,哪个效率更高,原理是什么

解决方案 »

  1.   

    具体执行计划看一下。
    explain select * from table where column in (1,2....);
    explain select * from table where column = 1 or column = 2.....
    比较一下不就知道了。
      

  2.   

    摘自:mysql必知必会 第58页。
    1.IN操作符一般比OR操作符清单执行更快.
    2.IN最大的优点是可以包含其他SELECT语句。使得能够动态的建立WHERE语句。
      

  3.   

    一样的 不新你看执行计划
    explain出来一样 那就一样效率
      

  4.   

    任何句子在比较性能的时候,一定要使用explain在实际数据库中测试,单拿 一条句子讲性能意义不大的。有些句子看上去很简单,在小表里查得快,一到大表里,慢得要死。所以就用执行计划看一下
      

  5.   

    这不是in和=的区别,是in和or的区别   效率应该是一样的