这两个查询哪个效率能高一点!!
①SELECT A.ASSETSCODE,B.ASSETSNAME FROM ASSETSTABLE AS A,ASSETSNAME AS B
WHERE A.ASSETSNAMEID=B.ID ORDER BY B.ASSETSNAME
②SELECT ASSETSCODE,(SELECT ASSETSNAME FROM ASSETSNAME
WHERE ID = ASSETSTABLE.ASSETSNAMEID) AS ASSETSNAME FROM ASSETSTABLE ORDER BY ASSETSNAME
两个查询的结果完全是一样的,不知道哪个效率会高一些,谢谢!!
------解决方案--------------------1
------解决方案--------------------先试试!
------解决方案--------------------肯定是1!2中的ASSETSTABLE都没有条件!
请问这两个的查询结果一样嘛?????
------解决方案--------------------这样说也没有根据,要看实际的表数据量了,建议通过测试来得到答案,在同等数据量的前提条件下,运行这两个查询语句,看谁的执行时间短,谁的效率就更高.也可以看看执行计划,得出谁的效率高这个结论.
------解决方案--------------------最终的还是要看执行计划的内容才能判断优劣
http://community.csdn.net/Expert/topic/5209/5209876.xml?temp=.8045008
------解决方案--------------------2
------解决方案--------------------这么那么多技术问题放在技术区?
------解决方案--------------------第一个查询速度最快,因为你的第二个里面嵌套了子查询。如果你给出的这两个只是模版,你的第二个SQL的子查询可能很大,影响速度。Oracle支持16层嵌套,但是最好少用嵌套。Oracle最出色的就是关系型,两个字段一关联就OK了,这也是关系型数据库的代表Oracle设计的主要理念。不多说了,自己想想也明白了