2011-02-06 65 views
2

我有一个数据库与客户端数据,所有客户端数据存储在一个表中,并由一个客户端代码标准化到另一个表中唯一标识,最终我们将有100多个客户端全部在同一个表中,每个客户端的客户端数据每年将翻一番,每个客户端每年有1000多行数据。MYSQL建议,表大小

将每个客户端划分到自己的表中并且通过表名而不是客户端代码来查询它们有什么优点和缺点,并且将有100多个表是无法管理的,并且考虑到我们最终会得到多少数据甚至是必要的改变什么?

+0

几年后,你是否担心有几千条记录?认真;)你知道像MYSQL数据库处理数百万或记录就好 – Jakub 2011-02-06 04:33:14

回答

1

这是一个奇怪的问题,但我真的不觉得你有什么担心,保持你的数据库正常化(你说你已经这样做)。

把它全部放在一张表中,它是一个数据库,让它成长,不用担心它会在2-3年后变成10k行。

我已经处理了大型的mysql/mssql安装,并且它们在具有数百万条记录的单个服务器上工作得很好。

所以不,不要将客户分解成表格,它会产生一个管理恶梦,坚持一个,使其正常化,并保持不变,除非遇到问题。

编辑

你还在担心,这里是直接复制从MySQL:

可伸缩性和限制:

支持大型数据库。我们使用 MySQL服务器和 包含5000万条记录的数据库。我们也知道 的用户谁使用MySQL服务器 有200,000个表和大约 5,000,000,000行。

支持每个表最多64个索引 (MySQL 4.1.2之前的32个)。每个索引 可以由1至16列或 部分列组成。最大索引 宽度为1000字节(InnoDB为767);在MySQL 4.1.2之前的 ,限制是500 字节。对于CHAR,VARCHAR,BLOB或 TEXT列类型,索引可以使用 列的前缀。

http://dev.mysql.com/doc/refman/5.5/en/features.html

+0

(100个客户端* 1000行)* 1年= 10万行一年,所以在5年内它将是50万,这是一个蛋糕走MYSQL? – ambiguousPanda 2011-02-06 04:38:13

0

这真的完全取决于你的数据是如何构成的。如果你的桌上有索引,即使有数百万行,事情也应该保持相当快。通过客户端分离表格在语义上不是“正确的”......尽管取决于您要存储的数据,但将各部分存储在各种链接表中可能会更快。为了方便查询,一张桌上塞满了所有可能的信息可能有点笨拙。无论如何,如果你用几行样本数据发布实际的表格结构,我可以给出更好的答案,但简短的答案是,只要你正确对待表格(保持它们正常化和干净),你应该没问题。