Dee*_*eep 6 sql database sql-order-by
我正在使用以下查询来查询在两列上有订单的DB.
从表1中选择a,b,c按asc,b asc排序;
我的问题是,排序是否保证稳定(按标准).虽然它没有任何意义,但不稳定,但我问这个,因为我在网上读到了
该标准不会阻止使用稳定的排序,但它也不需要它.
Gor*_*off 10
这种排序不能保证稳定.我认为SQL Server 文档很好地解释了如何实现稳定的排序:
要在使用OFFSET和FETCH的查询请求之间获得稳定的结果,必须满足以下条件:查询使用的基础数据不得更改.也就是说,查询所触及的行不会更新,或者查询中的所有页面请求都是使用快照或可序列化事务隔离在单个事务中执行的.有关这些事务隔离级别的更多信息,请参阅SET TRANSACTION ISOLATION LEVEL(Transact-SQL).ORDER BY子句包含保证唯一的列或列组合.
最简单的方法来理解,一种是没有稳定是去回表的定义.表在SQL中本质上是无序的.因此,没有任何顺序可以依靠"稳定性".
作为第二个考虑因素,可以并行地实施分类.在大多数并行排序中,公共密钥被汇集在一起而没有关于其原始顺序的信息(除非在排序密钥中明确或隐式地实现).
| 归档时间: |
|
| 查看次数: |
2490 次 |
| 最近记录: |