自己弄一个数据库,然后定时从access里同步过去。

解决方案 »

  1.   

    无论任何方式,access都不能支持这么大的数据量。access无法建立索引,所以“按需加载”没用,access只能做线性的查找。
      

  2.   


    这话别当真。老实按你公司的需求建索引吧。按说你们公司连进口设备都用上了,也不缺钱报销一两本ACCESS编程方面的书籍了
      

  3.   

    用来查询的算法策略(包括 SQL 语句的写法)都大有讲究:1 尽量避免在 Where 子句中做运算,特别是字符串运算,也要避免长字符串的比较。  例如某网友做的测试:select * from records where Mid(card_no,1,4)='5378' (13秒)
    select * from records where amount/30< 1000 (11秒)  改为:select * from records where card_no like '5378%'(< 1秒)
    select * from records where amount < 1000*30(< 1秒)2 在有索引的大数据表中避免在索引字段上使用 IN 关键字(OR 逻辑)select count(*) from stuff where id_no in('0','1')(23秒)(select count(*) from stuff where id_no in = '0' or id_no in = '1' 效果相同)改成select count(*) from stuff where id_no='0'
    select count(*) from stuff where id_no='1'
    后相加,3秒
    3 充分利用子查询  根据我的经验,当先用某一字段查询时可将子集缩得很小,再查询时遍历的开销就小了。4 尽量避免为了只用一个 SQL 语句而结构得非常复杂的逻辑5 不必要时,就不要 select *,而是列出你实际需要的字段表,减小对虚拟内存的开销,避免频繁的磁盘交换。6 实际上数据库表的设计也极有讲究,例如用数字编码代替规律性或固有名词字符串,大大缩小库容。总之,要对数据库做充分的分析,多做一些测试实验,优化你的查询策略和算法。
      

  4.   


    这话别当真。老实按你公司的需求建索引吧。按说你们公司连进口设备都用上了,也不缺钱报销一两本ACCESS编程方面的书籍了好吧,居然是支持索引的。从来没有用过,因为access是给裱糊匠用的。
      

  5.   

    用DAO,传说对Access做了优化,操作速度比ADO快,而且提供诸如CompactDatabase(函数功能等同于Access里的压缩和修复数据库菜单功能)一类ADO没有的函数
      

  6.   

    用SQLITE做啊...很小,很好用.不过VB方面的资料好少.好可怜
      

  7.   

    这要分析日本设备的数据保留量等信息。
    至于为啥不能用mysql 甚至 sqlserver实在保持疑惑,还有个简单的思路,你可以尝试一下。
    实时把要查询的数据简化后放入另一个mdb中,保持另一个查询用mdb的苗条。
    其实只要能实时进行数据转移,sql server一类的东西使用就不成问题了。
    说实话,10w级别数据量,不加索引对sql server都有点难受,别说access了。