日期:2014-05-17  浏览次数:20423 次

我想创建一个巨大的表
这个表有百亿条记录,mdf文件大小会有几个G。如何用c#语言创建并操作这个表呢?

------解决方案--------------------
好KB...百亿条记录...这不只几个G能搞定了...
------解决方案--------------------
用for循环,循环内用sqlcommand 插入到表中数据,不过C#的话,效率比较低了。直接在数据库中使用for循环效率会比较高。

不过不清楚你插入数据时什么样的,如果每次只插入一条数据的话,百亿条数据估计要几天了。

------解决方案--------------------
新建表——命名为“巨大的表”——完事

开个玩笑别介意

兄弟啊,你问这个问题的时候,有想过怎么操作这个表么?
你确定你会操作?
反正我他么的没见过几百亿数据的表,不知道创建一个主键会不会直接卡死……

------解决方案--------------------
引用:
这个表有百亿条记录,mdf文件大小会有几个G。如何用c#语言创建并操作这个表呢?


几百亿...MSSQL不擅长搞这个,至少不能用一张表,并且需要多台多实例组件分布式DB
如果用C#+MSQL开发,可以考虑构建数据代理层,数据的读写有代理层缓存控制,多线程、事务、分布式事务由代理层控制。但不管怎么做,都挺麻烦的。
可以参考淘宝的OceanBase,顶住双十一的系统。
或者考虑Hadoop的HBase,单表顶住百亿条很轻松,我有个张HBASE表,已经快破千亿了。
OceanBase要用C++,HBase建议用JAVA。
------解决方案--------------------
建议你写存储过程来完成创建和批量插入的操作,c#中再调用该存储过程