sql 数据量很大 有where 和order by,不加order by 速度很快,加了就很慢,为什么?

orderby难道是在where前面?我想知道orderby和where的执行顺序,理论上orderby是先where完毕在排序,为什么不加orderby的时候,速度会快... order by 难道是 在where 前面?
我想知道order by 和where的执行顺序,理论上order by 是先where完毕在排序,为什么不加order by的时候,速度会快
我先select * into #table from Table where ,然后select * from #table order by 反而很快,就违背了先执行where 然后order by 的说法
求原理
展开
 我来答
壬朔0C0
2018-04-11 · TA获得超过4907个赞
知道小有建树答主
回答量:67
采纳率:100%
帮助的人:9411
展开全部

order by在where后面,通过where条件把数据检索出来,而order by是把检索出来的数据进行排序,所以加了order by会慢一点。

拓展回答:

SQL语言的组成:

  1. 一个SQL数据库是表(Table)的集合,它由一个或多个SQL模式定义。

  2. 一个SQL表由行集构成,一行是列的序列(集合),每列与行对应一个数据项。

  3. 一个表或者是一个基本表或者是一个视图。基本表是实际存储在数据库的表,而视图是由若干基本表或其他视图构成的表的定义。

  4. 一个基本表可以跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。每个存储文件与外部存储上一个物理文件对应。

  5. 用户可以用SQL语句对视图和基本表进行查询等操作。在用户角度来看,视图和基本表是一样的,没有区别,都是关系(表格)。

  6. SQL用户可以是应用程序,也可以是终端用户。SQL语句可嵌入在宿主语言的程序中使用,宿主语言有FORTRAN,COBOL,PASCAL,PL/I,C和Ada语言等。SQL用户也能作为独立的用户接口,供交互环境下的终端用户使用。

小优_宝贝
推荐于2017-11-25
知道答主
回答量:68
采纳率:100%
帮助的人:11.6万
展开全部
order by在where后面,通过where条件把数据检索出来,而order by是把检索出来的数据进行排序,所以加了order by会慢一点
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wuxl0311
2014-03-27 · TA获得超过580个赞
知道小有建树答主
回答量:181
采纳率:100%
帮助的人:148万
展开全部
order by 是查询排序,你想啊,只把符合条件的数据都找出来和要把数据找出来还要按某一列进行按大或小排序哪个用的时候多啊。
所以数据量大时不排序肯定是省时间的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6f53ec3
2014-03-27
知道答主
回答量:66
采纳率:0%
帮助的人:13.3万
展开全部
order by 要根据查询的数据进行排序处理,所以比不带order by 条件查询要慢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小狗臂章
2015-10-12
知道答主
回答量:30
采纳率:0%
帮助的人:16万
展开全部
今天也遇到了,楼主当时问题解决了吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式