假设需要记录日志,每天10万条记录,需要保存10年。
我现在的做法是每个月建立一个表,即每个表大概保存300万条记录。系统最大有120张表。
我想问问如果是用分区表呢?单独增加一列int类型的数据,保存日志的日期,格式为201110,即2011年10月。以此为list分区依据。然后把所有数据保存在同一张表里面。请问前者和后者在读、写上,有没有什么不一样的地方?如果是30年、50年、甚至100年的数据呢?非常感谢!!!
我现在的做法是每个月建立一个表,即每个表大概保存300万条记录。系统最大有120张表。
我想问问如果是用分区表呢?单独增加一列int类型的数据,保存日志的日期,格式为201110,即2011年10月。以此为list分区依据。然后把所有数据保存在同一张表里面。请问前者和后者在读、写上,有没有什么不一样的地方?如果是30年、50年、甚至100年的数据呢?非常感谢!!!
1、30年我只是举例子,为了形如数据量而已。
2、查询条件里面肯定带了类似: where Date=201110
我现在的做法是每个月建立一个表,即每个表大概保存300万条记录。系统最大有120张表。业务需求
1.用户查询的话,分日期段;
2.统计分析,只统计某个段的;建议:
采用分区表,以你描述的数据量,可以考虑1年为一张表,并且创建12个分区的方式;1.方便统计分析;
2.方便查询;
3.方便程序访问,以及数据的清楚;
#****************************************#
MySQL技术及运维自动化网:www.mysqlops.com新浪微博账号:http://weibo.com/mysqlops
#****************************************#