这两个查询哪个效率能高一点!!
①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设计的主要理念。不多说了,自己想想也明白了
这两个查询哪个效率能高一点!解决方案
这两个查询哪个效率能高一点!!①SELECTA.ASSETSCODE,B.ASSETSNAMEFROMASSETSTABLEASA,ASSETSNAMEASBWHEREA.
