分表是“横向”还是“纵向”?
横向:
数据模型A,分为: 字段1 2 3 4 可以把字段 1 2 存为主表,3、4分别用副表存。 当一个完整的模型数据为100万时,可能主表和副表的记录都是100万。现在的分表好像只是把内容分开了,如果放在一个表里,可能DB是100M,但分成10个表存的话,每个表10M,但总的记录数并没有变。 这样的无限好像只能是“字段数量”。(当然,字段分开工,是会减少一个数据库文件大小的压力)。 但这样好像无法做到真正的“无限”,因为每个表的记录数是有限的。并且,每个表的大小也不一样,比如:标题很少,但内容很多。把标题放主表,内容放副表,对于大数据的表来说,也有被撑破的时候,当主表小数据还很小时,副表大数据可能已经达到了极限,同样会影响整体。
纵向:
就是按一定的记录数或大小来分表。比如:每10万条记录分一个表,100万的数据,可以分成10个表,1000万分100个表,依此类推... 这样的话,才是真正的“无限负载”!
如果是“横向+纵向”都可以“分表”就好了!
呵呵,这样说可能有点“理想化”了!只是个“想法”而已...
不过,V6的这个分表理念还是有很大进步的!
|