SQL联查语句加上order排序之后速度超级慢
项目中使用到了分页查询,形式如下
select * from
(
select row_number() over (order by a.id0) as seq,a.* from
PMS_T_D_StakeCoordinate a
left join ZY_T_D_Route b on a.route_code=b.route_code
) as T
where seq between 1 and 1000
本来分页查询应该是很快的,但是随着项目的进展,数据量逐步增加到了百万级,此查询直接报错“服务器连接超时”
于是将SQL考到SqlServer里面执行,发现需要2分多钟才能出结果
去掉“row_number() over (order by id0) as seq”之后时间减少到了15秒,这个差距太大了。。。
于是猜测是order by 的问题,在查询后面加上order by id0,查询时间又飙到了2分钟,果然如此
于是,寻求加自增长编号的方法替代order by
select IDENTITY(INT,1,1) as orderID,*
into #ttemp
from ( table... ) where seq between pageBegin and pageEnd select * from #ttemp
但是这里也有个问题,通过自增IDENTITY(INT,1,1)得到的orderID不是按顺序排列的,这个地方没搞清楚,求解求指点??????
不得已,在select * from #ttemp后面再order by一次,如下
select * from #ttemp order by orderID
这个担心用order by又会导致查询时间飙升,但结果也只花了16秒,nice!
如此看来,order by对单表影响不大,可能是因为我的查询中有太多的联查???
SQL联查语句加上order排序之后速度超级慢的更多相关文章
- SQL入门语句之ORDER BY 和GROUP BY
一.SQL入门语句之ORDER BY ORDER BY 是用来基于一个或多个列按升序或降序顺序排列数据 1.从数据库表获取全部数据按字段A的升序排列 select *from table_name o ...
- SQL编程语句
视图 视图就是我们查询出来的虚拟表创建视图:create view 视图名 as SQL查询语句,分组,排序,in 等都不能写视图的用法: select * from 视图名 SQL编程 定义变量:d ...
- SQL学习之使用order by 依照指定顺序排序或自己定义顺序排序
我们通常须要依据客户需求对于查询出来的结果给客户提供自己定义的排序方式,那么我们通常sql须要实现方式都有哪些,參考很多其它资料总结例如以下(不完好的和错误望大家指出): 一.假设我们仅仅是对于在某个 ...
- MySQL也有潜规则 – Select 语句不加 Order By 如何排序?
今天遇到一个问题,有一个 Select 语句没有加 "Order By",返回的数据是不确定的. 这种问题碰到不止几次了.追根寻底, Select 语句如果不加 "Ord ...
- 浅析SQL查询语句未显式指定排序方式,无法保证同样的查询每次排序结果都一致的原因
本文出处:http://www.cnblogs.com/wy123/p/6189100.html 标题有点拗口,来源于一个开发人员遇到的实际问题 先抛出问题:一个查询没有明确指定排序方式,那么,第二次 ...
- [转]MySQL 最基本的SQL语法/语句
MySQL 最基本的SQL语法/语句,使用mysql的朋友可以参考下. DDL-数据定义语言(Create,Alter,Drop,DECLARE) DML-数据操纵语言(Select,Delete ...
- (转)经典SQL查询语句大全
(转)经典SQL查询语句大全 一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql s ...
- 转: 从Mysql某一表中随机读取n条数据的SQL查询语句
若要在i ≤ R ≤ j 这个范围得到一个随机整数R ,需要用到表达式 FLOOR(i + RAND() * (j – i + 1)).例如, 若要在7 到 12 的范围(包括7和12)内得到一个随机 ...
- 经典SQL查询语句大全
一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数 ...
随机推荐
- HDU 6351.Beautiful Now-暴力、全排列、思维 (2018 Multi-University Training Contest 5 1002)
2018 Multi-University Training Contest 5 6351.Beautiful Now 题意就是交换任意两个数字,问你交换k次之后的最小值和最大值. 官方题解: 哇塞, ...
- HDU 1015 Safecracker【数值型DFS】
Safecracker Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- 多表联合查询,利用 concat 模糊搜索
select * from t1 as a join t2 as b on a.id = b.id where CONCAT(a.name,b.name) like '%测试%'
- 软Raid5,LVM,3T大硬盘纠缠操作的问题
新服务器,4块3T大硬盘,软Raid5 组建 加上LVM分区各种一通操作... 悲催的是经过4天的软raid rebuild,最终状态给我FAIL了,当看到raid的state[ State : cl ...
- [BZOJ 2395] Time is money
Link: BZOJ 2395 传送门 Solution: 算是一类比较经典的模型: 即对于一类经典问题,每点由1个权值化为2个权值,最终求$sigma(val_1)*sigma(val_2)$ 对于 ...
- 【二分答案】【最大流】bzoj3993 [Sdoi2015]星际战争
二分Time,S->炮[i]:Time*b[i] 炮[i]->机器人[i]:INF 机器人[i]->T:a[i]. 判断是否满流. #include<cstdio> #i ...
- Exercise02_07
import javax.swing.JOptionPane; public class Years { public static void main(String[] args){ String ...
- 微服务之SpringCloud实战(五):SpringCloud Eureka详解
Eureka详解 在第三节高可用中,实际已经讲解了服务的注册,只不过注册的是Eureka本身,原理相同,通过这几篇文章我相信大家对Eureka有了一定的了解,三个核心角色:服务注册中心.服务提供者和服 ...
- 几种常用的json序列化和反序列化工具介绍
一.前言 Json序列化和反序列化工作中会时常用到,也是目前数据交互的常用格式,Rest风格的接口加上json格式的数据交互,真的是天作之合. 目前Json字符与Json对象的相互转换方式有很多,接下 ...
- dependency:copy-dependencies使用,如何排除应用自身module
相信用法参考:https://maven.apache.org/plugins/maven-dependency-plugin/copy-dependencies-mojo.html#includeG ...