社区
疑难问题
帖子详情
这两种写法哪种效率高?
vincege
2003-11-21 04:57:37
方法1
select table1.field1,table2.field2
from table1 inner join table2 on ...
方法2
select field1,fn_getfield2(...)
from table1
其中fn_getfield2是一个取得table2.field2的自定义函数。其中使用了cursor
...全文
24
10
打赏
收藏
这两种写法哪种效率高?
方法1 select table1.field1,table2.field2 from table1 inner join table2 on ... 方法2 select field1,fn_getfield2(...) from table1 其中fn_getfield2是一个取得table2.field2的自定义函数。其中使用了cursor
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cgsun
2003-11-21
打赏
举报
回复
oracle
leecooper0918
2003-11-21
打赏
举报
回复
楼上写的不错,可楼主问的问题是 关于MS SQL的吧?
atlasGS
2003-11-21
打赏
举报
回复
很多时候,我们不太清楚自己写的SQL语句好还是不好,往往数据量一大,程序运行变慢。其
实在SQL/PLUS里可以很清晰的分析出SQL语句的执行计划,它可以提醒我们来创建索引或改变
SQL语句的写法。
先在sys用户下运行@/ORACLE_HOME/rdbms/sqlplus/admin/plustrce.sql
内容:
set echo on
drop role plustrace;
create role plustrace;
grant select on v_$sesstat to plustrace;
grant select on v_$statname to plustrace;
grant select on v_$session to plustrace;
grant plustrace to dba with admin option;
set echo off
产生plustrace角色,然后在sys用户下把此角色赋予一般用户
SQL> grant plustrace to &username;
先找到/ORACLE_HOME/rdbms/admin/utlxplan.sql,然后在当前用户SQL>下运行,它创建一
个plan_table,用来存储分析SQL语句的结果。
create table PLAN_TABLE (
statement_id varchar2(30),
timestamp date,
remarks varchar2(80),
operation varchar2(30),
options varchar2(30),
object_node varchar2(128),
object_owner varchar2(30),
object_name varchar2(30),
object_instance numeric,
object_type varchar2(30),
optimizer varchar2(255),
search_columns number,
id numeric,
parent_id numeric,
position numeric,
cost numeric,
cardinality numeric,
bytes numeric,
other_tag varchar2(255),
partition_start varchar2(255),
partition_stop varchar2(255),
partition_id numeric,
other long,
distribution varchar2(30));
在SQL/PLUS的窗口运行以下命令
set time on; (说明:打开时间显示)
set autotrace on; (说明:打开自动分析统计,并显示SQL语句的运行结果)
set autotrace traceonly; (说明:打开自动分析统计,不显示SQL语句的运行结果)
接下来你就运行测试SQL语句,看到其分析统计结果了。一般来讲,我们的SQL语句应该避免
对大表的全表扫描。
关闭以上功能,在SQL/PLUS的窗口运行以下命令
set time off; (说明:关闭时间显示)
set autotrace off; (说明:关闭自动分析统计)
rocllllll
2003-11-21
打赏
举报
回复
第一种,当数据量大了以后,你就会生客的体会到
为什么?不光是他,还有临时表等,同等货色
要知道我客户的数据库服务器是1G内存还不行
vincege
2003-11-21
打赏
举报
回复
用第二中方法我可以用case,在不同的时候调用不同的函数从不同的表取数,
join 能否根据条件join不同的表?
txlicenhe
2003-11-21
打赏
举报
回复
听到第二种是游标的写法就不用想了,第一种效率高。
zjcxc
2003-11-21
打赏
举报
回复
用游标是严重影响速度.
hegt0
2003-11-21
打赏
举报
回复
一样高
zjcxc
2003-11-21
打赏
举报
回复
当然第一种.
pengdali
2003-11-21
打赏
举报
回复
select table1.field1,table2.field2
from table1 inner join table2 on ...
表的关联查询,
哪种
写法
效率更高?
方法1:嵌套子查询 select col1,col2 from tab1 where id in (select 2_id from tab2 where order_num in ( select order_num from tab3 where prod_id='AAA')) ...方法2:无嵌套子查询 ...wh
java里面i++与++i到底哪一种
写法
的
效率高
?
那么这
两种
情况之下,哪一种
写法
的
效率高
呢?单纯从源码层面我们是看不出来到底是哪一种
效率高
的,但是我们可以用javap打印一下字节码,然后再来看,命令行执行:javap -verbose SelfAdd.class我们截取两个方法的...
C++中构造函数的
两种
写法
先看
两种
构造函数的
写法
,找到其区别。
写法
一(我赌一包辣条很多人没见过这种
写法
): #include <iostream> using namespace std; template <typename Type> class test...
冒泡排序BubbleSort(
两种
写法
)
冒泡排序的核心理念是什么?...那么在这里说下冒泡排序的
两种
写法
,一种是从前往后遍历,另一种是从后往前遍历,这
两种
遍历方式代码如下: System.out.println("\n____________________________________...
用了那么久的 Java For 循环,你知道
哪种
方式效率最高吗?
作为程序员每天除了写很多if else之外,写的最多的也包含for循环了,都知道我们Java中常用的for循环有
两种
方式,一种是使用for loop,另一种是使用foreach,那如果问你,这
两种
方式哪一种效率最高,你的回答是什么呢...
疑难问题
22,209
社区成员
121,730
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章