C#程序处理上百万上千万数据时,都有什么方法?越详细越好。数据库和程序,方面考虑要详细
C#程序处理上百万上千万数据时,都有什么方法?越详细越好。数据库和程序,方面考虑要详细?
在应用层面, 必须要将上千万的数据载入内存使用的情况, 根据不同的应用目的, 可以采用memcached或mongoDB这样的采用对象集合实现的非关系型数据库系统. 千万行数据的规模, 也能够提供毫秒级的存取.
在数据库层面, 为提高性能将数据分割是比较常用的手段. 根据不同的情况, 使用日期, 应用主体等等维度来分割数据表.
在架构层面, 对单点无法负载的应用, 需要针对不同情况, 根据不同的维度对应用进行垂直分割, 或水平分割, 或综合使用. 简单来说, 垂直分割就是根据应用主体, 将所有应用功能凭据分布到多个节点, 实现负载平均, 好处是易于扩展. 水平分割就是根据应用模块, 将应用拆分成多个节点, 好处是可以有针对性灵活部署.
以上说的只是一些优化建议, 请详细描述你的应用情况, 才能给出针对性的方案.
如果你只需要解决应用层面的问题, 我实在是想象不出有什么情况需要将这么大规模的数据全部载入内存操作.