社区
疑难问题
帖子详情
结果集排序 和 WHERE条件筛选顺序 问题
liu119144664
2010-04-07 12:13:16
1、结果集排序
select * from table_a
在没有用order by来排序的情况下,结果结是怎么排序的?
2、WHERE条件筛选顺序
select * from table_a where [la]>1 and [lb]='X'
是先筛选条件 [la]>1 还是 [lb]='X'
本人比较菜,第一次上来提问,多谢指教!
...全文
135
10
打赏
收藏
结果集排序 和 WHERE条件筛选顺序 问题
1、结果集排序 select * from table_a 在没有用order by来排序的情况下,结果结是怎么排序的? 2、WHERE条件筛选顺序 select * from table_a where [la]>1 and [lb]='X' 是先筛选条件 [la]>1 还是 [lb]='X' 本人比较菜,第一次上来提问,多谢指教!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liu119144664
2012-02-14
打赏
举报
回复
sorry 不直不知道怎么给分
liu119144664
2010-04-08
打赏
举报
回复
我对 “存在聚集索引的情况下 按照聚集索引列排序出现” 这个存在怀疑:
上次有个同事用游标的时候没有用ORDER BY ,结果没有按照聚集索引排序,查了很长时间都没检查出来是这个地方有问题。
htl258_Tony
2010-04-07
打赏
举报
回复
1、结果集排序
select * from table_a
在没有用order by来排序的情况下,结果结是怎么排序的?
在没有聚集索引的情况下,按照物理地址(就是插入数据的先后顺序)来显示,不存在你说的排序.
2、WHERE条件筛选顺序
select * from table_a where [la]>1 and [lb]='X'
是先筛选条件 [la]>1 还是 [lb]='X'
看计划,理论上是先[la]>1 再 [lb]='X',如果第一天没索引,第二列有索引,优化器可能选择先计算第二列。
dawugui
2010-04-07
打赏
举报
回复
1、结果集排序
select * from table_a
在没有用order by来排序的情况下,结果结是怎么排序的?
按照物理地址(就是插入数据的先后顺序)来显示,不存在你说的排序.
2、WHERE条件筛选顺序
select * from table_a where [la]>1 and [lb]='X'
是先筛选条件 [la]>1 还是 [lb]='X'
这个不好说,系统会去自动优化查询的顺序,你可以查看执行计划.
不过就你这个条件,理论上是先[la]>1 再 [lb]='X'.
dawugui
2010-04-07
打赏
举报
回复
[Quote=引用 7 楼 liu119144664 的回复:]
我也像大家这样想过,但是我想知道有什么比较官方的说明!谢谢!
[/Quote]
你去问问微软的人.
liu119144664
2010-04-07
打赏
举报
回复
我也像大家这样想过,但是我想知道有什么比较官方的说明!谢谢!
SQL77
2010-04-07
打赏
举报
回复
[Quote=引用 3 楼 feixianxxx 的回复:]
第一题:
存在聚集索引的情况下 按照聚集索引列排序出现
第二题:
优化器自动优化
[/Quote]
1有聚集的话就是按聚集的,没聚集就直接按照你插入数据的顺序,
2UP小麦,优化器会根据数据自动优化
幸运的意外
2010-04-07
打赏
举报
回复
了解一下权威人士的答案.
--小F--
2010-04-07
打赏
举报
回复
膜拜楼上几位大仙
feixianxxx
2010-04-07
打赏
举报
回复
第一题:
存在聚集索引的情况下 按照聚集索引列排序出现
第二题:
优化器自动优化
MySql基础学习笔记二、
排序
及WHERE
筛选
MySql基础学习笔记二、
排序
及WHERE
筛选
关于Oracle查询时where
条件
执行
顺序
因在工作中数据库查询数量百万级表中需要多
条件
查询,但是
筛选
条件
只有一列有索引,查询效率很低,后查阅资料后修改where后执行的
条件
顺序
,瞬间执行查询语句提速至毫秒级。故以此为记。 eg:SELECT 列名 FROM 表名...
mysql where
条件
先后_sql语句 where 后
条件
执行先后
顺序
针对mysql,其
条件
执行
顺序
是 从左往右,自上而下针对SQL server、orcale,其
条件
执行
顺序
是从右往左,自下而上1.mysqlwhere执行
顺序
是从左往右执行的,在数据量小的时候不用考虑,但数据量多的时候要考虑
条件
的先后...
sql语句 where 后
条件
执行
顺序
曾经面试时。被问到过这个
问题
。结合网上的知识,整理如下:针对mysql,其
条件
执行
顺序
是 从左往右,自上而下;针对orcale,其
条件
执行
顺序
是从右往左,自下而上。...
Oracle数据库Where
条件
执行
顺序
及Where子句的
条件
顺序
对性能的影响
1、Oracle数据库Where
条件
执行
顺序
: 由于SQL优化起来比较复杂,并且还会受环境限制,在开发过程中,写SQL必须必须要遵循以下几点的原则: 1.ORACLE采用自下而上的
顺序
解析WHERE子句,根据这个原理,表之间的连接必须...
疑难问题
22,206
社区成员
121,730
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章