我有一张表Test (
[Id] [bigint] NOT NULL,
[Data] [image] NOT NULL
)在一个ADO程序中查询SELECT * FROM TestData WHERE Id >=1 and Id <=100,
用cmd.ExecuteNonQuery();调用。在SQL Server服务器上启动SQL Profiler记录查询时间,发现本地调用查询时间只要2,3秒,而从远程一台机器上用ADO程序查询本地DB,profiler记录的时间却要40多秒。疑问:profiler记录的都是本地数据库查询的时间,并不包括网络传输时间,那么同样的查询,无论是本地调用还是远程调用,查询耗费时间应该都一样才对,为什么会相差这么大?!附:若改为查询“SELECT ID FROM TestData WHERE Id >=1 and Id <=100”,则时间就差不多了。猜测是因为[Data]字段的大数据量引起的问题。但是应该profiler既不会记录查询结果返回的网络时间,而且cmd.ExecuteNonQuery();调用也确保了不返回查询结果。实在想不通,还请大家多指教。谢谢!