【发布时间】:2013-07-17 00:22:52
【问题描述】:
我计划创建一个分析表。每月大约有 100 万条记录可以插入到表中。帮助我更好地优化并快速获取记录。 或者,我计划每月拆分表(在服务器上运行 cron 以创建表)所有插入都会将行插入到相应的月份表中。 这是设计表格的更好方法吗?
请对数据库设计提出建议
【问题讨论】:
-
请记住,数据库旨在解析大量数据
-
向我们展示表定义可能会有所帮助:但假设您要添加分析记录,最明显的是 partition 它针对创建日期列,按年或按月/年 - 但是如果您为每个月/年创建一个表格,那么您会遇到问题,例如有人想要一个季度或年度摘要,或者与去年这个月进行比较
-
code如果不存在则创建表webanalytics_mm_yy(idbigint(20) NOT NULL AUTO_INCREMENT,companyidbigint(20) NOT NULL,visits_countint(8) NOT NULL ,country_namevarchar(64) NOT NULL,referal_sourcevarchar(128) NOT NULL,source_namevarchar(128) NOT NULL COMMENT '这基于来源给出名称',created_datedatetime NOT NULL, @987654331 @ varchar(128) NOT NULL, PRIMARY KEY (id) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=63 ;
标签: mysql database-design