优化SQL语句时,下面关于大表(记录条数多的表)放在小表后面查询速度快的解释,对吗?
从网上看到人家这样的解释:
A、B两表Inner Join查询时,假设:
A 10记录 合格数据5条,B 100记录 合格数据50条
表A join 表B
连接查询数据总数为 5*50 =250 条
查询次数为 5* 100次 = 500次
表B join 表A
连接查询数据总数为 5*50 =250 条
查询次数为 50* 5次 = 250 次
--------------------------------------
我认为表B join 表A时,应该:
连接查询数据总数为 5*50 =250 条
查询次数为 50* 10次 = 500 次
不知道是我的理解错了,还是他解释错了?请大家裁判一下吧!谢谢了先。
------解决方案--------------------SQL Server会自动优化,所以不需要考虑这个问题。
------解决方案--------------------取决于执行计划,当执行计划使用嵌套循环的话,用小表循环一个在关联字段上有索引(索引的选择性越高越好)的大表性能会比较好.