数据库中拥有数据量超过 100万条 怎样处理

      1数据库方面处理

1》          在那些where条件后经常出现的列上建立索引

     比如经常出现条件  where id=’’ 那么可以再id上建立索引,尽量不要在经常更新的列上建立索引时要小心处理

2》          表和索引变得非常大时,表分区可以将数分为更小,更容易管理的部分,将数据分散开,减小磁盘IO,减小了系统负荷而且还可以将日志,索引等放于不同的分区

比如 表A中的数据 可以按照创建时间分区 而实际用户取的都是最近时间的数据 只需去最近时间的分区去取

3》          优化查询SQL语句

比如 尽量不用select * from table

查询两表时 数据量少的作为基表(参考sql语句优化)

查看 执行计划 寻找最优的sql语句

2硬件方面

1》                   加大CPU和内存,就象面对着千军万马,光有勇气没有一兵一卒是很难取胜的。

2》                     果系统资源有限,内存提示不足,则可以靠增加虚拟内存来解决

     3程序方面

1》         海量数据处理难因为数据量大,那么解决海量数据处理难的问题其中一个技巧是减少数据量。可以对海量数据分批处理,

比如去数据库取的时候  批量去取   首先取 2000条 处理完后在取2000条 直道取完

 

2》         如果数据量大 影响界面展示等其他原因 ,

         可以启动后台线程处理 主线程完成其他业务逻辑

 

         3》建立缓存机制当数据量增加时,一般的处理工具都要考虑到缓存问题。缓存大小设置的好差也关系到数据处理的成败,例如,笔者在处理2亿条数据聚合操作时,缓存设置为100000条Buffer,这对于这个级别的数据量是可行的。


 

posted on 2010-02-23 23:43  freedom831215  阅读(1588)  评论(0编辑  收藏  举报