|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
也许最好的策略是以不变应万变:给客户他们所需要的,不多也不少。如果MySQL学习教程适合他们,他们就不应该买别的工具。事实上,云计算产业一直推崇自助服务,但提供这些服务的公司已经开始认识到解决方案提供商推销他们商品的价值。OracleSQL*Plus有一个十分有效的子参数(subparameter),它附属于一个叫着NEW_VALUE的数据栏参数。NEW_VALUE唆使同意你以SQL*Plus剧本中的变量保留从Oracle表格查询而失掉的数据。
用过利用NEW_VALUE参数,你能够像真实的编程言语那样利用SQL*Plus剧本来保留和寻址程序变量,好像PL/SQL那样。
保留SQL*Plus变量并在个中添补Oracle数据长短常主要的特征,因为它削减了对数据库会见,以是它进步了SQL*Plus剧本的无效性。
collog_mode_valnew_valuelog_modenoprint
select
valuelog_mode
from
v$parameter
where
name=archive_log_mode;
select
Thecurrentarchivelogmodeis||&&log_modefromdual;
columntodaynew_valuetoday;
select
to_char(sysdate,mm/dd/yyyyhh24:mi)today
from
dual;
如今,我们了解了SQL*Plus变量是怎样保留的了,让我们看看一个实在的例子。上面的例子来自STATSPACK呈报,改呈报形貌了表格增加与数据库块巨细的函数干系。因为DB_BLOCK_SIZE在全部数据库中是一个常量,我们利用NEW_VALUE参数来捕捉改数值一次,并把它作为输入的一部分从头显现出来。
在这个例子中,我们界说了一个称之为&blksz的变量并在主查询顶用它来判别表格中的残剩空间。上面的例子向我们演示了怎样举行这个盘算。晓得块巨细可让我们很快估量出表格中的残剩空间容量。
(num_rows*avg_row_len)
---------------------*100
(blocks*&blksz)
这是全部查询:
columnc1heading"TABLENAME"formata15;
columnc2heading"EXTS"format999;
columnc3heading"FL"format99;
columnc4heading"#OFROWS"format99,999,999;
columnc5heading"#_rows*row_len"format9,999,999,999;
columnc6heading"SPACEALLOCATED"format9,999,999,999;
columnc7heading"PCTUSED"format999;
columndb_block_sizenew_valueblksznoprint
selectvaluedb_block_sizefromv$parameterwherename=db_block_size;
setpages999;
setlines80;
spooltab_rpt.lst
select
table_namec1,
b.extentsc2,
b.freelistsc3,
num_rowsc4,
num_rows*avg_row_lenc5,
blocks*&blkszc6,
((num_rows*avg_row_len)/(blocks*&blksz))*100c7
from
perfstat.stats$tab_statsa,
dba_segmentsb
where
b.segment_name=a.table_name
and
to_char(snap_time,yyyy-mm-dd)=
(selectmax(to_char(snap_time,yyyy-mm-dd))fromperfstat.stats$tab_stats)
and
avg_row_len>500
orderbyc5desc
如果你需要额外的功能的话,MySQL的普及性实际上可以让你发现总有一个厂商会提供准确的解决方案,而这个方案会满足你的需要和需求。 |
|