MS SQL执行速度优化

1)大表变小表,小表再连接。(但是MS SQL 会自动分析执行计划,并且如视图,也会被还原为语句,一起被分析。)

如果表有where条件,先对表使用where来筛选出小表。再进行连接。连接时,小表去join大表。

参见: http://lanse.iteye.com/blog/897873
2)  =或exists 比 in 效率高

另外,
首先两个表的连接字段都要有索引。
然后用exists 就可以了。
比如:
select * from min_tab a exists (select 1 from max_tab b where a.id = b.id)
出来的就是符合小表和大表的交易的小表记录

你可能感兴趣的:(sql)