代码之家  ›  专栏  ›  技术社区  ›  Jonathan.

数据库性能

  •  1
  • Jonathan.  · 技术社区  · 15 年前

    假设有一个拥有100000个用户的网站,每个用户都有多达1000个独特的字符串,因此总共最多有100000000个字符串。 最好有一个表,每个字符串都是一条记录以及它的所有者id。这样,您就得到了一个表,其中有100000000条记录,有两个字段(文本和用户id)。

    或者有100000个表,每个用户一个表,表的名称是用户的id,然后每个表中有1000条记录,只有一个字段(文本)。

    目录和数据库哪个是最有效的选项,然后这些选项中的哪个子选项是最有效的?

    (我所说的效率是指使用最少的资源和时间)

    6 回复  |  直到 15 年前
        1
  •  11
  •   Blorgbeard    15 年前

    或者有10万张桌子

    为了上帝的爱,不!这将导致可怕的代码-这不是数据库的设计目的。

        2
  •  2
  •   Josh K    15 年前

    选项1

    更高效地为每个用户创建一个表。

        3
  •  2
  •   Konerak    15 年前

    您将有一个表,在用户ID上有索引。

    为了提高速度,您可以对表进行分区、复制、使用缓存、云、分片。。。

        4
  •  0
  •   user333306 user333306    15 年前

    请考虑NoSQL数据库: http://nosql-database.org/

        5
  •  0
  •   DRapp    15 年前

        6
  •  0
  •   Christian    15 年前

    这取决于服务器必须处理多少活动。

    几个月前,我们建立了一个系统,索引了约2000万篇Medline文章摘要,每个摘要都比你的twitter消息长。 我们把这些东西放在一个lucene索引中,这个索引大约有40GB大。 即使我们的硬件不好(2GB内存,没有SSD驱动器——实习生很差),我们也能在几天内对数据库进行大约300万个词的搜索。

    一个表或(lucene索引)应该是最好的选择。