4-6个关系表,每个表的数据量都在百万级以上
现在用的是Access,平均每次查询的时间都在2分钟左右,甚至更长。
如果更换成MSSQL之类的企业级数据库,会不会在查询速度上有明显的提高?
还是尽量多的建立索引,可以提高速度?
谢谢。

解决方案 »

  1.   

    百万条,MS SQLServer就足够了,索引是必须要建的,
    我的经验5百万以内的数据,1G内存一般查询时间在15秒以内,
    而且程序查询时注意不要用 Like ,In就可以了
      

  2.   

    问一下,在MS SQLServer 建立索引,是怎么建,不是直接用sql命令可以查的吗?
      

  3.   

    建立索引,你可以使用sql语句建立,也可以在sql的服务器管理器里面建立。这个和查询不是一码事,索引只是加快查询的速度,你可以尝试在查询的条件关键字上建立索引,比如你采用时间条件进行查询,那么就在时间字段上进行查询。对于100w以上的数据,查询速度可以大大提高3~10倍哦!
      

  4.   

    现在已经换到了MSSQL,但效果不是很明显
    系统环境如下:赛扬1.8G,内存1G
    查询一个简单查询,比如 Select * From Client Where ID=777 需要5秒
    Client的纪录量为300万条,ID为主键
    这样的情况是否正常?
    如果要提高速度的话,还有什么招?
      

  5.   

    Select * From Client Where ID=777 需要5秒
    这个不正常吧?是不是硬盘太慢了?
    增加缓存看看
      

  6.   

    你的这句SQL 中
    Select * From Client Where ID=777ID是主键么,类型是什么,最好设为Interger型,
    我测试了一下,我有 600 万条记录
    机器配置 : 2500+ 512M,在2秒内查出来你的问题可能在SQL 或操作系统上
      

  7.   

    添加了些索引,速度的确提高不少
    这个方法对Access也有效
    所以还没有看出Access和SQL在表现上的明显差异
      

  8.   

    明显差别:网络数据库和单机数据库,SQLserver支持存储过程等等更高级的功能!
      

  9.   

    没必要每次都 SELECT * 啊,你只拿你需要的数据,可能速度要快点,比如SELECT Client.ID,Client.Name...