VC 读取十万级数据
求助:VC 读取十万级数据
哪位大大有相关经验,我用ADO连接数据库,读取十万级数据,然后根据数据生成一个图表,但ADO读数据实在是太慢一秒大概几十条数据,一个十万级的数据读下来要一个小时左右,这个根本是不能接受的,更何况若是百万级数据呢,不知哪位大大有相关经验,能快速读取数据?万分感谢。。。。
------解决方案--------------------
先用sql导出工具,导出数据为文件。然后用vc一次性(不要循环读行)读取整个文件到内存。在内存里你再处理吧。读数据库肯定比读文件慢,况且是ADO recordset循环10万次
------解决方案--------------------
用command,不要用recordset,前者在大数据上性能高出很多,但是用法也相对麻烦些。
------解决方案--------------------
单单是数据浏览的话,VC可以用虚拟列表,千万级的数据也是几秒中就可以了。
如果是对每条数据进行处理,比如绘点阵图,那只能遍历处理了。
但这种情况一般是首次处理好保存,后面每更新一条数据,就在原来的基础上处理更新部分就是。
------解决方案--------------------
------解决方案--------------------
如果你的图表变化,必须是实时反应数据库端,数据的变化。以马来西亚和中国的网络速度,十万数据。直接读取SQL server数据库是不可能实时了。
做个触发器,把每次变化的数据放置到一个小表里。你的程序每次去读取这个小表,然后缓存至本地。这样每次读取的数据量会减少很多,网络传输也快。
除了第一次缓存10万数据,以后只是读取缓存很少的数据,递增到你的本地缓存中。这样才能做到变通方式的实时。
------解决方案--------------------
是ODBC方式连接数据库么?看看有木有设置了“跟踪”
“控制面板”-“ODBC数据源”取消“跟踪”
哪位大大有相关经验,我用ADO连接数据库,读取十万级数据,然后根据数据生成一个图表,但ADO读数据实在是太慢一秒大概几十条数据,一个十万级的数据读下来要一个小时左右,这个根本是不能接受的,更何况若是百万级数据呢,不知哪位大大有相关经验,能快速读取数据?万分感谢。。。。
------解决方案--------------------
先用sql导出工具,导出数据为文件。然后用vc一次性(不要循环读行)读取整个文件到内存。在内存里你再处理吧。读数据库肯定比读文件慢,况且是ADO recordset循环10万次
------解决方案--------------------
用command,不要用recordset,前者在大数据上性能高出很多,但是用法也相对麻烦些。
------解决方案--------------------
单单是数据浏览的话,VC可以用虚拟列表,千万级的数据也是几秒中就可以了。
如果是对每条数据进行处理,比如绘点阵图,那只能遍历处理了。
但这种情况一般是首次处理好保存,后面每更新一条数据,就在原来的基础上处理更新部分就是。
------解决方案--------------------
------解决方案--------------------
如果你的图表变化,必须是实时反应数据库端,数据的变化。以马来西亚和中国的网络速度,十万数据。直接读取SQL server数据库是不可能实时了。
做个触发器,把每次变化的数据放置到一个小表里。你的程序每次去读取这个小表,然后缓存至本地。这样每次读取的数据量会减少很多,网络传输也快。
除了第一次缓存10万数据,以后只是读取缓存很少的数据,递增到你的本地缓存中。这样才能做到变通方式的实时。
------解决方案--------------------
是ODBC方式连接数据库么?看看有木有设置了“跟踪”
“控制面板”-“ODBC数据源”取消“跟踪”