日期:2014-05-17  浏览次数:20516 次

请教一个分表优化方案
系统有多个模型,每个不同模型的栏目下有多个表,例如:

新闻模型news
栏目1 对应主表为 data1_1、data1_2、.... 附加表为 fujia1_1、fujia1_2、...
栏目2 对应主表为 data2_1、data2_2、.... 附加表为 fujia2_1、fujia2_2、...


图片模型image
栏目3 对应主表为 data3_1、data3_2、.... 附加表为 fujia3_1、fujia3_2、...
栏目4 对应主表为 data4_1、data4_2、.... 附加表为 fujia4_1、fujia4_2、...

注:栏目表的主表和附加表分别以20W数据自增新表

现在假如想统计该栏目or模型本月本周或者总浏览次数之类的东西,或者随机十篇文章,如果循环该模型或者栏目多个表来排序,消耗肯定大的. 我想再建一个模型文章数据表,全放数字类型字段例如:

news模型
文章ID 栏目ID 会员ID 总浏览次数 月浏览次数 周浏览次数 ...


如果我这样做的话,调用点击前十名的文章也得两个表查10次,前面栏目分表是否多此一举? 但不这样的话,数据大放一个表中,很慢. 例如dedecms刚到10w数据,生成就卡得要死.
下了个帝国看了下他的表结构(据说他就是这样分表的),但貌似他没有多出第三个表来统计, 不知道他如何处理数据优化的呢,还没去研究。。


不知道各位前辈有什么好的建议或者意见思路吗?在此先谢了。

------解决方案--------------------
前面栏目分表是什么原则分的?
------解决方案--------------------
我首先想到的是 视图