首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果我将firebase的唯一键替换为一些自定义的键,是否会对性能产生影响?

如果我将firebase的唯一键替换为一些自定义的键,是否会对性能产生影响?
EN

Stack Overflow用户
提问于 2020-04-25 00:33:12
回答 1查看 27关注 0票数 0

对于firebase实时数据库,每次我调用push()添加内容时,都会生成一个唯一的28位密钥。

我的用例是将我的博客数据存储到数据库中。博客对象有标题、内容、作者字段。如下所示

代码语言:javascript
复制
Blog {
  title: "",
  content: "",
  author: ""
}

当我push(blog)到Firebase时,假设它会生成一个像PxbEfWQhGP3NTU6HfHuVZfAV4017jcuzSpTnHvhLNXbo这样的唯一密钥。我可以用它来构造访问博客页面的mywebsite.com/blog/PxbEfWQhGP3NTU6HfHuVZfAV4017jcuzSpTnHvhLNXbo地址。可以从blogId中读取该URL,并使用它从数据库中读取博客内容。但是我不喜欢这个UR的原因很少,它对SEO和读者都不友好。

我正在考虑用博客标题替换唯一键,它将类似于mywebsite.com/blog/this-is-my-first-blog-1ad92b25dd。我将在最后附加一些随机字符串,以减少冲突的机会。

通过这样做,我需要有一个地方来存储标题到blogId的映射。如下所示:

代码语言:javascript
复制
titleToId
  "this-is-my-first-blog-1ad92b25dd"
    blogId: "PxbEfWQhGP3NTU6HfHuVZfAV4017jcuzSpTnHvhLNXbo"
  "yeah-i-did-it-1ad9321ef"
    blogId: "is37nLeQg1dslZPMLpdARyxIMzh2Lj6cRUNkq00i3JB8"
  "not-sure-if-it-works-1ad92523414"
    blogId: "B2kcEwTI02wFJXjBWiDZlDFIzJ502xcAY4qQLyPExzViw"
...

因此,每当我尝试打开博客时,我都会从URL获取标题,然后读取数据库titleToId以获取实际的blogId,然后使用blogId读取博客内容。

但我对性能有一些担忧。因为我们将唯一键替换为博客标题。一旦titleToId中的数据集变得更大,假设我们有1亿个条目。数据库读取性能会降低太多吗?在我的例子中,我可以设置一些索引来加快读取速度吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-25 00:36:26

不会对性能造成影响。使用什么作为唯一的ID字符串并不重要,只要它是唯一的并且长度小于768个字节即可。不需要为数据库注释的名称创建任何索引。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61413075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档