开发环境为mssql2005数据库每天差不多有100W数据,然后数据有效期为1个月,1个月后这些数据都作废我现在想的思路是用sql agent每天在23:59分的时候建立个以当天日期命名的子表,然后每天的数据只会存在于当天的子表内自动删除一个月以前的表但有诸多的问题1.怎么建立以当天日期命名的子表,删除一个月以前的子表2.统计单天数据的话可以用对应的表名,但是统计多天的时候还要把各个子表互相关联,这样互相关联后再查询在效率上会不会有点低,主要是怕查询时间会很慢3.有没有比我好的简单点的方案啊,我怕如果不分表30天的话就3000W数据了这样查询太恐怖了。请各位指点迷津,谢谢拉
3.有没有比我好的简单点的方案啊,我怕如果不分表30天的话就3000W数据了这样查询太恐怖了。因为你的日志表特点,分表是合适的,虽然好的硬件和优化可以使得千万级单表查询速度可以接受,但是每日百万数据写入分表和百万数据写入千万级表的效率差别是很大的,综合起来分表利大于弊。
分表带来的查询麻烦是你必须克服的,难以有更好的方案