我在程序中用到这句: select * from db1 where id in (select distinct(id) from db2 where id='''+edit1.text+'''') 但是两个表的数据都大,在客户端处理起来很慢。如何改进?(不用视图) 再求一问: 我要对查找出来的数据集表逐行处理(必须逐行),因为要处理的记录数多,在客户端 也很慢,有朋友说在数据库后台做,请问如何做?有人说用游标,但也有说效率更差。 请帮帮忙?
select * from db1 where id
in (select distinct(id) from db2 where id='''+edit1.text+'''')
老兄你的非相关子查询语句还是很好的,只不过你要求返回的是整张表,而且表很大,自然费时啦。
类似的语句你可以试试:
Select A.*
From db1 A inner join db2 B
on A.id = B.id and B.id = '''+edit1.text+''''
用MS SQL的查询分析看一下那里给出了,查询执行详细步骤及各步代价值。