社区
疑难问题
帖子详情
结果集排序 和 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'
本人比较菜,第一次上来提问,多谢指教!
...全文
166
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 表名 WHERE
条件
A AND
条件
B; 如上很简单的一条查询,在数量少的情况下,where后
条件
顺序
不管如何几乎查询效率都不低,但在百万级数据中检索再加上
条件
B查询的列上没有创...
mysql where
条件
先后_sql语句 where 后
条件
执行先后
顺序
针对mysql,其
条件
执行
顺序
是 从左往右,自上而下针对SQL server、orcale,其
条件
执行
顺序
是从右往左,自下而上1.mysqlwhere执行
顺序
是从左往右执行的,在数据量小的时候不用考虑,但数据量多的时候要考虑
条件
的先后
顺序
,此时应遵守一个原则:排除越多的
条件
放在第一个在用MySQL查询数据库的时候,连接了很多个过滤
条件
,发现非常慢。例如:SELECT … WHERE p.langu...
MySQL_04.
条件
筛选
+
排序
条件
筛选
在找寻数据的时候做一个
筛选
,
条件
筛选
的关键字where。 除了insert以外的其他三个语句都可以做
筛选
where是一个关键字,拼接在除了insert语句之外的其他语句基本结构之后。 1)delete from表名 where.....; 2)update表名 set 列=值 where....; 3)select 列 from 表 where.....;
筛选
用来
筛选
符合
条件
的记录行数,并不是控制显示的列。 按照某一个列或者是某一些
条件
进行
筛选
。 列,满足一定
条件
。 where后面具体怎
mysql where and
顺序
_MySQL查询where
条件
的
顺序
对查询效率的影响
看到有资料说,where
条件
的
顺序
会影响查询的效率,根据的逻辑是:where
条件
的运行是从右到左的,将选择性强的
条件
放到最右边,可以先过滤掉大部分的数据(而选择性不强的
条件
过滤后的结果
集
仍然很大),在根据其它
条件
过滤时,需要比较的数据量就少,提高查询的效率。当我看到这个逻辑时,自我认为不是太合理,数据库引擎在执行SQL语句时,都是要经过查询优化器的,查询优化器会将SQL进行优化,选择最优的查询计划...
疑难问题
22,296
社区成员
121,728
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章