- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
让我们以一篇博客文章为例,其中一个独特的 slug 是根据文章的标题生成的:sample_blog_post。假设您将 slug 存储在 _id 中,而不是将 mongo ObjectId 存储为 _id。除了标题更改时 slug 可能会更改的明显情况之外,使用字符串而不是数字 _id 在性能方面是否存在重大缺点?如果帖子的数量变得非常大,比如超过一百万,这可能会成为问题。但如果帖子的数量相对较少,比如 2000,会有很大的不同吗?到目前为止,关于 ObjectId,我认为我唯一可以利用的是免费提供的 created_on 日期。
总而言之,将 slug 存储为 _id 而不使用 ObjectId 是否值得?似乎有关于如何将替代值存储为 _id 的讨论,但没有讨论它的性能优势/劣势。
最佳答案
So in summation, is it worth it to store the slug as the
_id
and not use anObjectId
?
在我看来,没有。对于大多数情况(分页除外),性能差异可以忽略不计,但是
_id
键可以让您免于许多麻烦,最重要的是避免通过 skip
和 take
进行昂贵的分页(使用$lt
/$gt
而不是 _id
。_id
。在我的代码中,我有一个异常(exception),我使用一个特殊的散列作为 id,因为值不能改变,集合具有极高的写入率并且很大。从本质上讲,您最终会得到这样的架构
{ "_id" : ObjectId("a237b45..."), // PK
"slug" : "mongodb-is-fun", // not indexed
"hash" : "5af87c62da34" } // indexed, unique
关于mongodb - 在 mongodb 中使用 slug 作为主键/_id 的性能劣势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19570200/
如何减少实体组件系统中的 Duck-typing 现象? 例子 这是一个 coliru demo . 我的 ECS 中有 2 个系统:- System_Projectile : 管理所有弹丸和子弹方面
自从 Microsoft 创建 MSTest 以来,我一直在使用它进行单元测试。我从来没有真正使用过 NUnit,我只是不喜欢在我的开发箱上安装另一个工具的需要。到目前为止我只使用了MSTest的基本
我有一个非常复杂的聚合查询,所以我想使用如下 View : db.createView("weNeed","Master", [ {$project: { _id:"$
我们的要求很简单。向订阅主题的用户发送消息。我们需要我们的消息传递系统能够近乎实时地支持数百万个主题,并且可能支持任何给定主题的数百万订阅者。我们的应用程序是用 Java 构建的。 由于社区支持、文档
JWT 优于 cookie 的一个优势似乎是它绕过了对 cookie 的来源限制。 有人可以帮助我了解 JWT 的任何其他优点,重要的是还有其他缺点吗? 最佳答案 优势 JWT是一种无状态身份验证机制
我是一名优秀的程序员,十分优秀!