日期:2014-05-17  浏览次数:21186 次

SQL语句在查询分析器中的执行速度很快,在程序中的执行速度很慢的问题
本帖最后由 mfkdwfgsou 于 2013-09-10 18:29:32 编辑
我有一个表有2W多条数据,现在我要查询其中冲突的记录,SQL语句在查询分析器中很快(不到1S),在程序在就超时,用了TOP 10有反应(也要2S),求帮助啊
const string sq = "select [id],[cid],[JXSname],[ObjName],[ObjNum],[ttNum],[tjNum],[ObjJGListNum] from [TTobjinfo] where id in (select max(ID) from [TTobjinfo] as tb group by cid)";//去掉重复项目进度临时表
str = "select [id],[cid],[JXSname],[ObjName],[ObjNum],[ttNum],[tjNum],[ObjJGListNum] from [TTobjinfo] where id in (select max(ID) from (" + sq + ") as tb2 group by ObjName)";
st = "select ObjName from (" + sq + ") as ct2 group by ObjName having (count(ObjName)>=2 and ObjName<>'' and ObjName is not null)";
sql = "select top 10 b2.*,'name' as ac from (" + st + ") as a2 left join (" + str + ") as b2 on a2.ObjName = b2.ObjName";
var ctdb = TtDataBase.ReadTable(sql);
            ListView1.DataSource = ctdb;
            ListView1.DataBind();
            ctdiv.Visible = ctdb.Rows.Count > 0;


这是程序代码我写成存储过程同样的问题,在查询分析器中很快(2S),在程序中就超时。。。
求帮忙啊!!!
sql C#

------解决方案--------------------
你得单步调试,TtDataBase.ReadTable 看这个方法里面哪一步执行较慢,就发现问题在哪了。