环境是.net的framework4.0以下,我有一个sqlite的数据库文件,能做内存映射么,代码示例能不能贴给我看看,我在网上看到的代码是处理txt文件的,不知道这种数据库文件怎么搞求。。求

解决方案 »

  1.   

    你用C++不就OK了?非要跟自己过不去呢
      

  2.   

    我只会.net,   那位大哥,用指定的格式打开是怎么个写法呀,求例子
      

  3.   

    sqlite的数据库文件是一行行SQL语句和二进制数据,你映射它做什么?
      

  4.   


    因为我现在碰到的问题是sqlite里面一张表有100W行数据(因为功能需要不能分批一次读一点,需要显示全部),我在读取的时候内存溢出了,所以想看看用内存映射能不能解决,这么做可行么?
      

  5.   


    想补充的一句是,我是准备用DevExpress.XtraPivotGrid.PivotGridControl这个控件来做多维报表的,但是就是卡在了读取数据的时候,从sqlite里面取100W行数据,内存直接飚过1G,溢出了
      

  6.   

    多维报表不能处理大数据,行数超过100行就大大影响速度了,更别说100万行了。另外sqlite是内存数据库,程序运行的时候会先加载所有数据到内存,然后才执行你的查询,因此你要处理大数据,就不应该用sqlite数据库,这个1G内存使用是sqlite自身映射到内存的时候飚出的。
      

  7.   


    那么,如果数据还是100W行,就只能换本地库吗?mysql可以吗?或者您有什么好的解决方案啊?
      

  8.   


    mysql不是文件数据库,用到项目里面会遇到很多难点得不偿失,无奈呀,所以暂时不考虑mysql替换掉sqlite继续求解决方案,跪求,o(╯□╰)o
      

  9.   

    恕我愚见——Sqlite 不是和 Access , Firebird 这类轻量级数据库 一个档次的么??我只是知道 Firebird 有个 5M的 数据库引擎;
    Sqlite  是文件型数据库中 速度最快的;
    Access  超过 20M  就会性能大打折扣;——当初是谁 会想到 用  Sqlite  一个文件型 数据库存  100万的数据的——这个建议找当初的程序员,看他怎么处理.....哈哈!
      

  10.   

    内存映射文件?跟sqlite能扯得上关系?两者功能是平行的,都是文件最今本的io。
    内存映射文件的目的是操作大文件。数据库本身就是自己负责文件操作的,没看懂你想怎么结合两者。