sql2008 hql语句翻译过来的分页语句介绍
更新时间:2013年06月18日 19:59:08 作者:
有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分。 特别对于UNION ALL比较有用
sql2008 hql语句翻译过来的分页语句
WITH query AS (select syusers0.id as id5, syusers0.createdatetime as createda25_, syusers0.modifydatetime as modifyda35_, syusers0.name as name5, syusers0.password as password5, ROW_NUMBER() OVER ( order by syusers0.name desc) as hibernaterow_nr from sypro.syuser syusers0_ where 1=1 ) SELECT * FROM query WHERE hibernaterownr >= 5 AND hibernaterownr < 11
WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。
有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分。 特别对于UNION ALL比较有用。
因为UNION ALL的每个部分可能相同,但是如果每个部分都去执行一遍的话,则成本太高,所以可以使用WITH AS短语,则只要执行一遍即可。
如果WITH AS短语所定义的表名被调用两次以上,则优化器会自动将WITH AS短语所获取的数据放入一个TEMP表里, 如果只是被调用一次,则不会。
而提示materialize则是强制将WITH AS短语里的数据放入一个全局临时表里。很多查询通过这种方法都可以提高速度。
WITH query AS (select syusers0.id as id5, syusers0.createdatetime as createda25_, syusers0.modifydatetime as modifyda35_, syusers0.name as name5, syusers0.password as password5, ROW_NUMBER() OVER ( order by syusers0.name desc) as hibernaterow_nr from sypro.syuser syusers0_ where 1=1 ) SELECT * FROM query WHERE hibernaterownr >= 5 AND hibernaterownr < 11
WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。
有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分。 特别对于UNION ALL比较有用。
因为UNION ALL的每个部分可能相同,但是如果每个部分都去执行一遍的话,则成本太高,所以可以使用WITH AS短语,则只要执行一遍即可。
如果WITH AS短语所定义的表名被调用两次以上,则优化器会自动将WITH AS短语所获取的数据放入一个TEMP表里, 如果只是被调用一次,则不会。
而提示materialize则是强制将WITH AS短语里的数据放入一个全局临时表里。很多查询通过这种方法都可以提高速度。
您可能感兴趣的文章:
- 卸载SQL2008遇到问题(重启计算机失败、找不到SQL卸载程序)的解决办法
- sql2008安装教程 SQL Server 2008 R2 安装图解
- SQL2005、SQL2008允许远程连接的配置说明(附配置图)
- SQLServer日志清空语句(sql2000,sql2005,sql2008)
- SQL2008 附加数据库提示 5120错误 解决办法
- 使用Sqlserver事务发布实现数据同步(sql2008)
- sql2008评估期已过的解决办法及序列号
- sql2008安装后服务器改名造成名称不一致解决方法
- mssql2008 自定义表类型实现(批量插入或者修改)
- SQL2008 附加数据库提示5120错误解决方法
- SQL2008 详解直接将XML存入到SQL中
相关文章
SQL2008中SQL应用之- 死锁(Deadlocking)
当一个用户会话(会话1)已经落定了一个资源,而另一个会话(会话2)想要修改该资源,并且会话2也锁定了会话1想要修改的资源时,就会出现“死锁”(deadlocking)。2011-06-06SQL Server 2008 R2 为用户权限分配的操作步骤
这篇文章主要介绍了SQL Server 2008 R2 为用户权限分配的操作步骤,有时候我们不得不设置一些权限,例如禁止删除等,那么就可以参考下面的方法2017-10-10使用Navicat Premium将SQLServer数据导出为sql格式
这篇文章主要介绍了使用Navicat Premium将SQLServer数据导出为sql格式,需要的朋友可以参考下2016-12-12SQL Server 2008 清空删除日志文件(瞬间日志变几M)
sql 在使用中每次查询都会生成日志,但是如果你长久不去清理,可能整个硬都堆满哦,笔者就遇到这样的情况,直接网站后台都进不去了。下面我们一起来学习一下如何清理这个日志吧2013-05-05
最新评论