数据库性能

Jon*_*an. 1 database performance web-services

假设有一个拥有100,000个用户的网站,每个用户最多附加1000个唯一字符串,因此总共有100,000,000个字符串.拥有1个表,每个字符串是一个记录以及它的所有者ID是不是更好.因此,您最终得到1个包含100,000,000条记录的表,其中包含2个字段(文本和用户ID).

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

或者不是将字符串存储在数据库中(对于SMS消息的长度存在字符限制),只需存储文本文件的链接,其中目录中有100,000,000个文本文件,每个文件都有唯一的名称(随机数和/或字母)并包含其中一个字符串?(或者每个用户都有一个目录,然后他们的字符串在那个目录中?)

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

(这个问题在我的案例中显然是理论上的,但像twitter这样的网站做了什么?)

(效率我的意思是使用最少的资源和时间)

Blo*_*ard 11

或者有100,000张桌子

对于$ DEITY的爱,不!这将导致可怕的代码 - 它不是数据库的设计目标.

您应该有一个包含100,000,000条记录的表.数据库服务器是为处理大型表而构建的,如果需要,您可以使用索引和分区等来提高性能.