业务需要时时写入数据,现在是一个月一个表,但是同时需要查询要求,现在查询起来某一时间段的记录很慢
表也建有索引,请问大家通过什么方式可以解决查询慢的问题?
mssql2000的数据库

解决方案 »

  1.   

    select * from tablename  with(nolock) where ...
      

  2.   

    select c1,c2,c3 from historytable where c1='xx' and ctime>='date1' and ctime<='date2'
    类似这样的查询语句
      

  3.   

    分别在c1和ctime上建立索引,如果有order by ,还需要指定索引的order
      

  4.   

    原先在c1上建了索引 没在时间字段上索引
    jinjazz 可以多说一点with (nolock)么 因为查询的时候肯定另外一个线程在执行插入操作
    如果不加with(nolock) 查询会引起死锁么?因而造成查询慢?或者插入也慢?
      

  5.   

    问一下 ms sql建立索引数据库需要重起或者其他操作才能起作用么?
    oracle里建索引需要分析生成统计信息优化器才使用该索引.
      

  6.   

    频繁插入操作
    造成索引碎片
    需要定期维护索引:(重建/整理索引 )
    http://topic.csdn.net/u/20070329/17/38398e78-adac-4d7e-a8b6-f2d319d283e8.html