With As 查询优化

With As

1.With As 含义

WITH AS短语,也叫做子查询部分(subquery factoring),可以定义一个SQL片断,该SQL片断会被整个SQL语句用到。可以使SQL语句的可读性更高,也可以在UNION ALL的不同部分,作为提供数据的部分。

对于UNION ALL,使用WITH AS定义了一个UNION ALL语句,当该片断被调用2次以上,优化器会自动将该WITH AS短语所获取的数据放入一个Temp表中。而提示meterialize则是强制将WITH AS短语的数据放入一个全局临时表中。很多查询通过该方式都可以提高速度。

2.Sql语句
一般写法
select UserName from User where Status='1'
With As 写法
with ect as (select UserName from User)
select UserName from ect where Status='1'

你可能感兴趣的:(With As 查询优化)