建立了索引,不代表查询语句的速度会提高,除了正确建立索引外,还需要高效的 SQL 语句。
我们知道 OR 会影响索引的性能,大多数情况下我们可以使用 UNION 来代替,UNION 是将两个查询结果合并在一起,合并在一起的结果也同样支持排序等操作。
使用 IN 的语句
使用 UNION 的语句
msgid 为聚集索引,两个语句的查询结果相同,但是通过 SQL Server 的查询分析器的执行计划(菜单->查询->显示执行计划)和统计(菜单->查询->显示客户统计),我们均可以看到不论是在计划还是实际统计中,使用 UNION 的性能都非常的优越。