查询分页-----强势top
查询分页:语句1性能提升10倍多,仅仅是由于多了个topkeyword,非常不理解啊!!!!
1.查询时间1s内,r_object_id主键
select top 100 * from (
select all doc.r_object_id "objid",doc.name,doc.number, doc.cuid, doc.r_creation_date, doc.security, doc.bordline, doc.twicedline, doc.dline, doc.keynum, doc.creator_name,
doc.security_name, doc.dline_name, doc.pid, doc.modifier_name, doc.tblcount, doc.r_modify_date, doc.prjdefid, doc.voldefid, doc.tabledefid, doc.relation_id,
doc.r_object_type "r_object_type", doc.bcode "bcode", doc.copycount, doc.securityapply, doc.pgholtime, doc.done, doc.disciplineid, doc.disciplineid_name,
tabdef.fieldp2830b1886150468j, tabdef.fieldb7727l1886150454q, tabdef.fields5243t504621622q, tabdef.fieldt3385x504621623d, tabdef.fieldf3763y504621609s, tabdef.fieldk1536t504621614n,
tabdef.fieldr1297k504621621z, tabdef.fieldb5089j1350775945q, tabdef.fieldk5874q1350775954t, tabdef.fieldb2206h1350775945a, tabdef.fieldf4308a1350775949v, tabdef.recid,
CAST(ROW_NUMBER() OVER(ORDER BY doc.r_object_id asc ) as int) as dm_rnum
from ps_fld_doctree_document_sp doc
LEFT OUTER JOIN tabledef00054a9a80001e7d_sp tabdef ON (doc.r_object_id=tabdef.recid) where (doc.keynum like N'aaaaaaaaaaaaaaa%' and ((doc.isdel=0) or (doc.isdel=1)) )
and (doc.i_has_folder = 1 and doc.i_is_deleted = 0)
) dm_inline_view_1
where dm_rnum >= 101 AND dm_rnum <= 200 order by 1 asc
2.查询时间10s内
select * from (
select all doc.r_object_id "objid",doc.name,doc.number, doc.cuid, doc.r_creation_date, doc.security, doc.bordline, doc.twicedline, doc.dline, doc.keynum, doc.creator_name,
doc.security_name, doc.dline_name, doc.pid, doc.modifier_name, doc.tblcount, doc.r_modify_date, doc.prjdefid, doc.voldefid, doc.tabledefid, doc.relation_id,
doc.r_object_type "r_object_type", doc.bcode "bcode", doc.copycount, doc.securityapply, doc.pgholtime, doc.done, doc.disciplineid, doc.disciplineid_name,
tabdef.fieldp2830b1886150468j, tabdef.fieldb7727l1886150454q, tabdef.fields5243t504621622q, tabdef.fieldt3385x504621623d, tabdef.fieldf3763y504621609s, tabdef.fieldk1536t504621614n,
tabdef.fieldr1297k504621621z, tabdef.fieldb5089j1350775945q, tabdef.fieldk5874q1350775954t, tabdef.fieldb2206h1350775945a, tabdef.fieldf4308a1350775949v, tabdef.recid,
CAST(ROW_NUMBER() OVER(ORDER BY doc.r_object_id asc ) as int) as dm_rnum
from ps_fld_doctree_document_sp doc
LEFT OUTER JOIN tabledef00054a9a80001e7d_sp tabdef ON (doc.r_object_id=tabdef.recid) where (doc.keynum like N'aaaaaaaaaaaaaaa%' and ((doc.isdel=0) or (doc.isdel=1)) )
and (doc.i_has_folder = 1 and doc.i_is_deleted = 0)
) dm_inline_view_1
where dm_rnum >= 101 AND dm_rnum <= 200 order by 1 asc
查询分页-----强势top的更多相关文章
- SQL分页查询,纯Top方式和row_number()解析函数的使用及区别
听同事分享几种数据库的分页查询,自己感觉,还是需要整理一下MS SqlSever的分页查询的. Sql Sever 2005之前版本: select top 页大小 * from 表名 where i ...
- 查询分页的几种Sql写法
查询分页的几种Sql写法 摘自:http://www.cnblogs.com/zcttxs/archive/2012/04/01/2429151.html 1.创建测试环境,(插入100万条数据大概耗 ...
- mysql数据库管理工具sqlyog在首选项里可以设置默认查询分页条数和字体,改写关键字大小写
sqlyog设置一直习惯用sqlyog来管理mysql数据库,但有三个地方用得不是很爽:1.默认查询条数只有1000条经常需要勾选掉重新查询.2.自动替换关键字大小写,有时候字段名为关键字的搞成大写的 ...
- RDIFramework.NET 中多表关联查询分页实例
RDIFramework.NET 中多表关联查询分页实例 RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,给用户和开发者最佳的.Net框架部署方案.该框架以SOA范式作为 ...
- MyBatis关联查询分页
背景:单表好说,假如是MySQL的话,直接limit就行了. 对于多对多或者一对多的情况,假如分页的对象不是所有结果集,而是对一边分页,那么可以采用子查询分页,再与另外一张表关联查询,比如: sele ...
- Hibernate的几种查询方式-HQL,QBC,QBE,离线查询,复合查询,分页查询
HQL查询方式 这一种我最常用,也是最喜欢用的,因为它写起来灵活直观,而且与所熟悉的SQL的语法差不太多.条件查询.分页查询.连接查询.嵌套查询,写起来与SQL语法基本一致,唯一不同的就是把表名换成了 ...
- lucene 查询+分页+排序
lucene 查询+分页+排序 1.定义一个工厂类 LuceneFactory 1 import java.io.IOException; 2 3 import org.apache.lucene.a ...
- 动态多条件查询分页以及排序(一)--MVC与Entity Framework版url分页版
一.前言 多条件查询分页以及排序 每个系统里都会有这个的代码 做好这块 可以大大提高开发效率 所以博主分享下自己的6个版本的 多条件查询分页以及排序 二.目前状况 不论是ado.net 还是EF ...
- Mybatis oracle多表联合查询分页数据重复的问题
Mybatis oracle多表联合查询分页数据重复的问题 多表联合查询分页获取数据时出现一个诡异的现象:数据总条数正确,但有些记录多了,有些记录却又少了甚至没了.针对这个问题找了好久,最后发现是由于 ...
随机推荐
- poj3537 Crosses and Crosses 博弈论
大意: 给定一个\(1 * n\)的棋盘,你和对手轮流在上面画"X" 当出现三个连续的X时,最后一步操作的人胜利 不难发现,在棋盘中画了一个X之后 问题等价于两个一样的子游戏 然后 ...
- 洛谷.2619.[国家集训队2]Tree I(带权二分 Kruskal)
题目链接 \(Description\) 给定一个无向带权连通图,每条边是黑色或白色.求一棵最小权的恰好有K条白边的生成树. \(Solution\) Kruskal是选取最小的n-1条边.而白边数有 ...
- python MySQL 获取全部数据库(DATABASE)名、表(TABLE)名
import MySQLdb #connect try: conn = MySQLdb.connect( host = "localhost", user = "root ...
- Loadrunner问题:Monitor name :Windows Resources. Cannot create measurement Processor|% Processor Time|_Total on machine 192.168.0.1
说明: 在Loadrunner监控windows系统资源的时候,在添加好windows Resources后运行发现报如下错误: int: Check that there is such a mea ...
- Git_添加远程库
现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举 ...
- 重温PHP之插入排序
插入排序基本思路:将数组分为两个区(已排序区和未排序区),假定数组的第一个元素处于已排序区, 第一个元素之后的所有元素都处于未排序部分.排序时用到双层循环,外层循环用于从未排序部分中取出待排序元素,并 ...
- patch 用法
diff -Nrua a b > c.patch 实例说明: --- old/modules/pcitable Mon Sep 27 11:03:56 1999 +++ new/modules/ ...
- 内核升极2.6.18 升级到 2.6.32 装systemtap 原创
系统: redhat serever 5.3 linux 2.6.18 现在要升级到 LINUX 内核 2.6.32 安装步骤: 1.下载装源代码: https://www.kernel.org/ ...
- Running multiple instances of Xamarin Studio on a Mac
I love developing software on my MacBook Air! I got the latest version with the maximum possible spe ...
- C语言内存分析
C语言内存分析 一.进制 概念:进制是一种计数方式,是数值的表现形式 4种主要的进制: ①. 十进制:0~9 ②. 二进制:0和1 ③. 八进制:0~7 ④. 十六进制:0~9+a b c d e f ...