我有一个以CSV格式发送给我的CSV文件.感兴趣的领域是8位数.其中一些以0开头.该字段是数字发送的.所以,我现在放弃了一些前导零.
我已经将字段转换为varchar.我现在需要这样做:
我现在有这个:
12345678
1234567
Run Code Online (Sandbox Code Playgroud)
我需要这个:
12345678
01234567
Run Code Online (Sandbox Code Playgroud) 因为我使用的是 PostgreSQL,所以有一个名为ltree的模块的模块,它至少满足我的一个需求,性能(我不知道可扩展性?有人说物化路径树不能很好地扩展..)。
由于我正在开发的应用程序是一个完全围绕大树、节点、子树等构建的 CMS,因此对这些节点进行排队的性能绝对重要,但由于它是一个分层的大型(随着它的增长)树,您正在处理和操作GUI(CRUD),我还希望用户能够拖放以重新排序节点、子树等,同时正确更新数据库中的树(子记录)。
据我了解,在树中移动和重新排序节点/子树并不是 ltree/物化路径树真正的优点,所以我希望您能提供帮助,要么向我指出最好的正确树结构模型为了性能和移动子树和节点,或者也许......如果 ltree 确实不是过去的遗留物但仍然值得使用,那么如何使用 PostgreSQL 的 ltree 模块实现这一点?在这种情况下为什么/为什么不使用ltree?
要求:
我还在考虑闭包表,又名桥表(很多!),嵌套间隔(不确定我到底理解如何实现它,并且当前没有好的示例或要点?)或 B 树模型。我只是还不太确定,这些将如何满足我的上述 4 个要求。在嵌套间隔中重新组织子树和节点似乎很简单,而且性能似乎不错。很难选择合适的。
因为我确实需要性能(查询/读取性能)、可扩展性、排序,所以我有点认为带有排序顺序的闭包表可能非常接近,但我无法想象闭包表和磁盘空间开销将变得有多大,就像我的树一样并且节点变大。闭包表和可扩展性,我只是不太确定。我担心这个问题是错误的吗?这项任务的最佳解决方案是什么?