二、in、or、union关键字性能测试

  介于网上有很多关于in/or/union等关键字的性能讨论,本人也小试了一把,测试结果如下。

  1、in

  select * from video where id in(100,101,102,103,104,105,106,107,108,109)

  2、union

  select * from video where id =100

  union all select * from video where id =101

  union all select * from video where id =102

  union all select * from video where id =103

  union all select * from video where id =104

  union all select * from video where id =105

  union all select * from video where id =106

  union all select * from video where id =107

  union all select * from video where id =108

  union all select * from video where id =109

  3、or

  select * from video where id=100 or id=101 or id=102 or id=103or id=104 or id=105 or id=106 or id=107 or id=108 or id=109

  结论:

  1) 网上很多资料说union的性能要高于in/or,但从我这测试的结果来看,不论是有无索引,union的性能都是低的?不知是何原因?

  2) 网上流传mssql会自己把in解析成or查询,从这份测试结果来看,貌似不假!

  3) 虽然in/or会引起全表扫描,但别无选择的情况下也是是能胜任很多工作的。

  第一次分享技术类的文章,写的不好欢迎拍砖,谢谢!