MYSQL网站制作之在Oracle中重编译一切有效的存储历程
“对于MySQL数据库,无论是在开发方面,还是支持方面,现在有大量强大的MySQL学习教程可以选择。每一个新手开发者可以轻松地使用MySQL数据库进行开发。 SQL_PLUS中,spoolExecCompProc.sql
selectalterprocedure||object_name||compile;
Fromall_objectswherestatus=INVALIDandobject_type=PROCEDURE;
spooloff
@ExecCompProc.Sql; 收拾成一个存储历程
CreateOrReplaceProcedureZl_Compile_Invalid_ProcedureAs
StrsqlVarchar2(200);
Begin
ForxIn(SelectObject_NameFromAll_ObjectsWhereStatus=INVALID
AndObject_Type=PROCEDURE)Loop
Strsql:=AlterProcedure||x.Object_Name||Compile;
Begin
ExecuteImmediateStrsql;
Exception
--WhenOthersThenNull;
WhenOTHERSThendbms_output.put_line(Sqlerrm);
End;
EndLoop;
End; 实行
execZl_Compile_Invalid_Procedure; 假如要看到没法重编译的历程的堕落信息,必要实行前设置setserverouton
由于MySQL数据库已经如此普及,对企业来说它无疑是一个更好的选择。 作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题! 其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?! 习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。 where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。 Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。 SP4是一个累积性的ServicePack,包含自以前的ServicePack发布以来所有的修补程序(包括MS03-031安全公告)。 groupby子句可以将查询结果分组,并返回行的汇总信息Oracle按照groupby子句中指定的表达式的值分组查询结果。 这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据,是否会出现大规模的碎片?
页:
[1]