您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

按顺序排序是否保证选择的顺序?

按顺序排序是否保证选择的顺序?

您不能指望没有显式ORDER BY子句的任何查询中的行顺序。如果查询有序视图,但没有包括ORDER BY子句,则如果它们的顺序正确,请感到惊喜,并且不要期望它再次发生。

这是因为查询优化器可以自由地以不同的方式访问行,具体取决于查询,表统计信息,行数,索引等。如果知道查询没有ORDER BY子句,则可以随意忽略行顺序,以便(咳嗽)更快地返回行。

即使对于众所周知的归类,跨平台的排序顺序也不一定相同。我知道在Mac OS X上对UTF-8进行排序特别奇怪。(Postgresql开发人员称其为_Breaked_。)Postgresql依赖于strcoll(),据我所知它依赖于OS语言环境。

我不清楚Postgresql9.1如何处理这个问题。在9.1中,您可以有多个索引,每个索引具有不同的排序规则。通过一个订单不指定归类通常会使用底层的基表的列的排序规则,但会出现什么优化做的 指数 ,指定不同的排序规则,而不在基表中的未索引的列?

其他 2022/1/1 18:49:53 有448人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶