是否可以针对特定字段在 mysql 或 mongodb 中按顺序保存数据?

Posted

技术标签:

【中文标题】是否可以针对特定字段在 mysql 或 mongodb 中按顺序保存数据?【英文标题】:Is it possible to save data in an order in mysql or mongodb against a particular field? 【发布时间】:2017-05-21 09:30:38 【问题描述】:

我有一个用例,我需要在 mongodb 或 mysql 中针对特定字段维护有序数据。有可能这样做吗?我总是可以使用 orderby 子句按顺序检索数据,但我需要将行以有序格式保存在数据库中,就像插入到排序树中一样。数据库的性能不是问题。

【问题讨论】:

我什么都不懂!' 您在这里问的内容并不是很清楚,而且在一个问题中询问多个存储引擎通常有点过于宽泛。老实说,它们是他们预期的最​​佳用例的粉笔和奶酪。通过更完整地描述您的用例以及分别向每个社区进行宣传,您可能会得到更好的服务。 为什么需要保存有序? 【参考方案1】:

我有一个用例,我需要在 mongodb 或 mysql 中针对特定字段维护有序数据。有可能这样做吗?我总是可以使用 orderby 子句按顺序检索数据,但我需要将行以有序格式保存在数据库中,就像插入到排序树中一样。

到目前为止,我一直认为您出于性能原因希望以所需的顺序存储数据,但您接着说...

数据库的性能不是问题。

这让我完全不知道你想要完成什么或为什么。

SQL 不是“有序的”。 SQL 索引(通常被实现为“排序树”)是。可以在同一张表上构建多个不同的索引。然后,RDBMS 将使用此类索引来提高对表的查询性能,但底层数据存储不受影响。

因此,从字面上看,对您的问题的回答是“否”——但是,所有好处(即性能,这显然不是您关心的问题)都可以通过使用索引来获得。

【讨论】:

感谢您的回复我不清楚我的意思是插入性能不是问题,因为它会异步发生,读取性能是一个非常重要的问题,事实上这是删除额外步骤的整个想法排序和提高读取性能。你有没有关于nosql场景的想法可以在那里实现。

以上是关于是否可以针对特定字段在 mysql 或 mongodb 中按顺序保存数据?的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 仅更新表中的某些字段

是否有针对 Netezza(Toad 数据点)的查询以查找存在特定字段名称的所有表

是否可以在 mongo 的组聚合后重命名 _id 字段?

是否可以重命名 PyMongo 中 Mongo 查询输出中的字段?

如何使用 MongoRepository 接口更新 mongo db 中的特定字段?

通过布尔字段查询mongo集合