堆表的在执行Select语句时的默认排序问题——发现问题
2012-06-04 16:04
288 查看
堆表的默认排序规则
一、提出问题:堆表的在执行Select语句时的默认排序问题
在数据库SQL 中,如果一张表既无主键又无索引,那么当执行Select语句查询时,默认的排序规则是如何的呢?
最近就碰到了这么一个问题,原来做系统的人对于出库单主表既没有建主键也没有建索引,现在在进行分页查询时,在查询界面中会丢失一部分数据,但数据真实存在数据库中。
现象如下面图1,图2.
第一页的截图:
图1
第二页的截图:
图2
注意以上图中的红色框中的单号,应该只在第一页中显示的单号,却又在第二页中显示了。
再来看一下数据库中的数据:
图3
注意上图中的数据,182-91行数据应该排在最后,才是我们需要得到的结果,而现在按默认排序规则却排到了中间。
一、提出问题:堆表的在执行Select语句时的默认排序问题
在数据库SQL 中,如果一张表既无主键又无索引,那么当执行Select语句查询时,默认的排序规则是如何的呢?
最近就碰到了这么一个问题,原来做系统的人对于出库单主表既没有建主键也没有建索引,现在在进行分页查询时,在查询界面中会丢失一部分数据,但数据真实存在数据库中。
现象如下面图1,图2.
第一页的截图:
图1
第二页的截图:
图2
注意以上图中的红色框中的单号,应该只在第一页中显示的单号,却又在第二页中显示了。
再来看一下数据库中的数据:
图3
注意上图中的数据,182-91行数据应该排在最后,才是我们需要得到的结果,而现在按默认排序规则却排到了中间。
相关文章推荐
- 堆表的在执行Select语句时的默认排序问题——发现问题
- 堆表的在执行Select语句时的默认排序问题——解决问题
- 堆表的在执行Select语句时的默认排序问题——分析问题
- 如何让SQL语句不执行默认排序,而是按照in语句的顺序返回结果
- sql server中同时执行select和update语句死锁问题
- hiveshell不能执行select语句问题
- sql server中高并发情况下 同时执行select和update语句死锁问题 (二)
- sql server中同时执行select和update语句死锁问题
- 替代union all 复杂的sql 并且可以接着双重排序,最主要的是他避免了一条语句两(多)条order by 插件默认执行第一个结束
- sql server中高并发情况下 同时执行select和update语句死锁问题 (二)
- sql server中高并发情况下 同时执行select和update语句死锁问题 (二)
- sqlite3——select语句 min()执行问题 iOS开发小记
- 如何处理DataTable.Select();执行后重新排序的问题!
- 查询结果排序,多列排序,聚合函数,查询分组,筛选结果,select语句执行顺序
- sql server中高并发情况下同时执行select和update语句死锁问题(一)
- sql server中同时执行select和update语句死锁问题
- sql server中高并发情况下同时执行select和update语句死锁问题(二)
- sql server中高并发情况下 同时执行select和update语句死锁问题
- SQL基础篇----select语句与排序问题
- sql server中高并发情况下 同时执行select和update语句死锁问题