我在PostgreSQL中有一个表。我想根据特定的列(不是主键)对行进行重新排序。在我的情况下,这种列类型是date
。可能吗?更改表格行的顺序postgres
回答
你试过“ORDER BY”吗?例如,“SELECT * FROM table_name ORDER BY date ASC;”?如果您想按相反顺序排列日期,则可以尝试“DESC”而不是“ASC”。
如果你对此列的索引,那么CLUSTER
命令将物理根据该指数
http://www.postgresql.org/docs/current/static/sql-cluster.html
请注意,此“令”是不会自动保存,你“为了”行需要手动定期运行该语句。
然而,这将不保证检索行时,任何特定的顺序。即使不涉及任何联接或聚合时。
即使您所做的只是select * from the_table
,仍然无法保证行返回的顺序。例如:Postgres有一个名为“同步seq扫描”的功能,这意味着如果一个会话启动一个seq扫描(select * from ...
),而另一个会话正在做同样的事情,第二个会在第一个seq扫描上捎带那就是),然后在结果的末尾添加“错过”的行。
,以保证结果集的顺序唯一办法(真:在唯一)是提供一个order by
条款。
时才有意义(至少对我来说),如果你在你的服务器上单硬盘(这是不一个SSD)。在这种情况下,seq扫描可能是会更快,因为所有块可能彼此相邻(由于文件系统重新使用空闲空间的方式而无法保证)。
在SSD或适当的服务器上使用带有许多许多硬盘的RAID阵列,我看不出有什么方法可以带来好处。
这是不是在未来版本的postgres路线图上的某处?其他一些db允许用户对索引表进行聚簇,这对于行顺序最重要的时间查询甚至更有用。 – jangorecki
@jangorecki:我不知道有这样的改变。考虑到任何严重的数据库服务器都会使用很多硬盘(可能有数百个硬盘),我仍然不认为这真的很有用 - 在这种情况下,如何定义“订单”?无论如何,SSD上的随机存取没有任何开销 –
- 1. jQuery:更改表格两行的顺序
- 2. 更改表格行的顺序,除了一列jquery
- 3. R:更改行顺序
- 4. 更改执行顺序
- 5. 更改表列顺序
- 6. Sequelize-Auto:更改Postgres表格模式
- 7. 如何根据行ID列表更改表中行的顺序?
- 8. 更改Postgres序列的Minvalue
- 9. PostgreSQL更改返回的行的顺序
- 10. UICollectionView reloadData更改单元格顺序
- 11. Pentaho的CDE更改列顺序动态的表格元素
- 12. 更改列表排序顺序内联
- 13. 更改视图中行的顺序
- 14. 更改提交行的顺序
- 15. 更改行的顺序不工作?
- 16. 更改maven插件执行的顺序
- 17. 如何更改列表的顺序?
- 18. 更改表链接的顺序sql
- 19. 如何更改列表的顺序?
- 20. Html,更改表中的列顺序
- 21. 如何更改RubyMine运行RSpec规格的顺序?
- 22. 滚动更改表中动态单元格的顺序 - Swift 2.3
- 23. 更改表格中标签的显示顺序(Google App Engine-Python)
- 24. 更改列顺序
- 25. 更改列顺序
- 26. 更改列顺序?
- 27. 更改列顺序
- 28. 更改表格的行高
- 29. Postgres的:在更新未更改的行
- 30. Postgres手动更改序列
选择数据时使用'order by'。 –
我想更新表格本身,它如何帮助我? –
是的,你是对的。但是,最后会显示一些命令,通常不会改变。我想改变外观。 –