搞错了连接字符串是"server=192.168.20.172;UID=sa;Password=123456;Database=cmtst"

解决方案 »

  1.   

    当然会慢啦:
    1、你查询分析器已经链接上数据库了,不用再链接,所以查询的时间并没有计算链接、关闭数据库的时间,而NET确计算了这个时间2、NET还要把你查询出来的数据填充到dataset数据集中,又需要花不少事件,就别说其他她们创建对象的消耗什么的。
    ------------------------------------其实要提高效率首先应该从你的视图下手,看看你的视图是否必要返回那么多数据
      

  2.   

    applyflow in (591)
    尽量不要用IN
      

  3.   

    SQL语句用IN本来就得花费一定的开销。
    其次就象BearRui(AK-47)兄说的。中途还有很多过程。
      

  4.   

    感觉4秒也不快,数据量有多少啊?applyflow in (591)这个地方不能改成applyflow=591 吗?
      

  5.   

    引用: BearRui(AK-47)
    当然会慢啦:
    1、你查询分析器已经链接上数据库了,不用再链接,所以查询的时间并没有计算链接、关闭数据库的时间,而NET确计算了这个时间2、NET还要把你查询出来的数据填充到dataset数据集中,又需要花不少事件,就别说其他她们创建对象的消耗什么的。
    ------------------------------------其实要提高效率首先应该从你的视图下手,看看你的视图是否必要返回那么多数据
      

  6.   

    现在已不是数据库的问题了,查询分析器能在4秒出来,这个结果已经可以接受了(数据库里有几百万条数据)!程序返回,我只是填充DATASET,又没做显示,且返回的只是一列INT型数字会有多大?怎么会消耗时间?我怀疑是索引视图在调用查询优化器时,跟查询分析器调用时不一样
      

  7.   

    三楼正解,DataSet的数据需要缓存在内存中的,和显示不显示没有关系,你填充DataSet也需要时间啊
      

  8.   

    tb1,tb2建索引再试试
    不要用in
      

  9.   

    我用DATAREADER 试了也一样的,DATASET填充需要十几秒吗?肯定不要的
      

  10.   

    赞成 BearRui(AK-47) ( ) 的看法,同时你也可以考虑将数据表拆分: