--sql*plus-6
===
【6】设置SQL的相关命令
1.在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句
SQL> SET ECHO {ON|OFF}

2.是否显示当前sql语句查询或修改的行数
SQL> SET FEED[BACK] {6|n|ON|OFF}
默认只有结果大于6行时才显示结果的行数。如果set feedback 1 ,则不管查询到多少行都返回。当为off 时,一律不显示查询的行数
备注:通常在使用Spool时候会关闭ECHO、FEEDBACK关闭

3.当SQL语句的长度大于LINESIZE时,是否在显示时截取SQL语句
SQL> SET WRA[P] {ON|OFF}
当输出的行的长度大于设置的行的长度时(用set linesize n命令设置),当set wrap on时,输出行的多于的字符会另起一行显示,否则会将输出行的多于字符切除,不显示。
备注:注意只要该项设置为ON时, 多于一行的输出结果才会换行显示, 否则会直接被截取, 该命令在较长的SQL语句执行很有用

4.显示每个sql语句花费的执行时间
set TIMING {ON|OFF}
备注:该命令在跟踪SQL的性能时相当有用
Set term off trims on timing on
Spool
.
Spool off
SQL> select * from testtable order by 1;

ID NAME REMARK REG_DATE SALARY
---------- ---------- -------------------------------------------------- ---------- ----------
1 paul lin 07-6月 -08 5500
2 bob lin common user 06-6月 -08 6500

已用时间: 00: 00: 00.00
SQL>
SQL>
SQL> select * from testtable order by dbms_random.random;

ID NAME REMARK REG_DATE SALARY
---------- ---------- -------------------------------------------------- ---------- ----------
2 bob lin common user 06-6月 -08 6500
1 paul lin 07-6月 -08 5500

已用时间: 00: 00: 00.00
SQL>
【6】设置SQL的相关命令
1.在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句
SQL> SET ECHO {ON|OFF} 
2.是否显示当前sql语句查询或修改的行数
SQL> SET FEED[BACK] {6|n|ON|OFF}
默认只有结果大于6行时才显示结果的行数。如果set feedback 1 ,则不管查询到多少行都返回。当为off 时,一律不显示查询的行数 备注:通常在使用Spool时候会关闭ECHO、FEEDBACK关闭

3.当SQL语句的长度大于LINESIZE时,是否在显示时截取SQL语句
SQL> SET WRA[P] {ON|OFF}
当输出的行的长度大于设置的行的长度时(用set linesize n命令设置),当set wrap on时,输出行的多于的字符会另起一行显示,否则会将输出行的多于字符切除,不显示。
备注:注意只要该项设置为ON时, 多于一行的输出结果才会换行显示, 否则会直接被截取, 该命令在较长的SQL语句执行很有用
4.显示每个sql语句花费的执行时间
set TIMING {ON|OFF}
备注:该命令在跟踪SQL的性能时相当有用
Set term off trims on timing onSpool
.
Spool off下面我们来重点看一下timing的用处:
SQL> select * from testtable order by 1;
ID NAME REMARK REG_DATE SALARY
---------- ---------- -------------------------------------------------- ---------- ----------
1 paul lin 07-6月 -08 5500
2 bob lin common user 06-6月 -08 6500
已用时间: 00: 00: 00.00
SQL>
SQL>
SQL> select * from testtable order by dbms_random.random;
ID NAME REMARK REG_DATE SALARY
---------- ---------- -------------------------------------------------- ---------- ----------
2 bob lin common user 06-6月 -08 6500
1 paul lin 07-6月 -08 5500
已用时间: 00: 00: 00.00
SQL> 这里由于我们的数据只有2条,所以在比较SQL语句所花时间上看不出区别,如果数据量大的时候(10W条以上),那么我们将可以明显地看出时间的区别了(第一个快过第二个)

浙公网安备 33010602011771号