SQL语句优化实践之一SQL_TRACE
SQL语句优化实践之一SQL_TRACE
环境:在PL/sql上调试数据
Pl/sql developer工具连接实例后即作为一个用户进程占用一个session;
select * from v$session t where t.PROGRAM='plsqldev.exe' and t.USERNAME='DZJC'
查询结果显示了几个关键的字段
SADDR RAW(4) Session address 内存地址
SID NUMBER Session identifier 唯一标识
SERIAL# NUMBER
Session serial number. Used to identify uniquely a session's objects. Guarantees that session-level commands are applied to the correct session objects if the session ends and another session begins with the same session ID
STATUS VARCHAR2(8)
Status of the session: ACTIVE (currently executing SQL), INACTIVE, KILLED (marked to be killed), CACHED (temporarily cached for use by Oracle*XA), SNIPED (session inactive, waiting on the client) 当期状态
MACHINE VARCHAR2(64) Operating system machine name
PROGRAM VARCHAR2(48) Operating system program name 应用程序名称。
打开窗口依次执行如下命令:
启动当期sesison级别 跟踪
启动SQL跟踪
实例级别
Alter system set sql_trace=true scope=both;
当期session级别
Alter session set sql_trace=true;
或
Execute dbms_session.set_sql_trace(true);
EXECUTE dbms_system.set_sql_trace_in_session
(session_id, serial_id, true);
Alter session set sql_trace=true;
执行待调试的语句
select c.code, nvl(b.con, 0)
from t_sys_codemap c,
(select COUNT(1) con, m.bljg
from V_JC_XZXK_BUSI_TIMELIMIT t, V_JC_XZXK_BUSIINDEX m
where t.busiindexid = m.ywlsh
and t.LIMITTYPE = 1
and trunc(m.tjsj) >= trunc(SYSDATE, 'year')
&nb
相关文档:
SQL优化的原则是:将一次操作需要读取的BLOCK数减到最低。
调整不良SQL通常可以从以下几点切入:
检查不良的SQL,考虑其写法是否还有可优化内容;
检查子查询考虑SQL子查询是否可以用简单连接的方式进行重新书写;
检查优化索引的使用;
考虑数据库的优化器;
查询的一般规则
Ø ......
sql server 时间段查询。
==========================================
select g.borrowTime from t_apartment_goodsborrow g
where g.borrowTime >= '2010-03-11 9:50:43'
2010-03-11 9:52:54
----------------------------------------------------------------------------
select g.borrowTime ......
Oracle9i异常处理分为系统预定义异常处理和自定义异常处理两部分。
自定义异常处理
1.定义异常处理
declare 异常名 exception;
2.触发异常处理
raise 异常名
3.处理异常
exception
when 异常名1 then
异常处理语句段1;
when 异常名2 then
异常处理语句段2;
示例:
se ......
导入的详细流程
1、新建一个数据库
2、在新的数据库上点右键-》“所有任务”-》“导入数据库”,点下一步
3、什么都不要改,在数据库中选择那个旧的数据库,点下一步
4、在这个界面的数据库中选择你新建的数据库,点下一步
5、选择“在SQL SERVER数据库之间复制对象和数据”,点下一步
......
--都写了 参考下吧
通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几个函数中计算出自己所需要的日期!在这篇文章里,我将告诉你如何使用DATEADD和DATEDIFF函数 ......