sql优化扫盲
1.oracle扫描的顺序为从下到上,从右到左
所以我们要尽可能的把数据少的表放在后面,交叉表放在后面,最能过滤的条件放在后面
2.不要在索引上使用计算和not操作符
索引一旦参与计算或使用了not操作符,oracle将会忽略这个索引
3.尽量使用in和and,尽量避免使用or,or会产生大量的过滤 ,直接导致逻辑读大量增加
4.必要时使用autotrace(sqlplus中有效,PL/SQL中无效)
命令:set autotrace on;
规则:尽量减少逻辑读,应该避免物理读,提高缓冲区命中率 ,最好保持在95%以上。
recursive calls 递归调用
db block gets 数据块读取
consistent gets 一致性读取
physical reads 物理读取
redo size 产生的重做日志大小
逻辑读=consistent gets + db block gets
缓冲区命中率=(逻辑读-物理读)/逻辑读
一个进程可能对以后能够数据块中多个session。
sql优化最重常用的是办法是:审视sql语句
也可以执行这条sql来查找非常耗费空间的sql:
select sql_text ,sharable_mem from v$sql where sharable_mem > '100000' order by sharable_mem ;
相关文档:
有这样一个字符串(中,国,中,人民,国,现代工业化进程,国)
处理过之后变成(中,国,人民,现代工业化进程)
以下是我的方法,有什么不对的地方还请各位指点
------------------删除重复的字符
declare
@v1 nvarchar
......
监控数据库性能的SQL汇总 【http://hi.baidu.com/g%5Fliying/blog/item/89711cfc27b82ff4fc037f80.html】
1. 监控事例的等待
select event,sum(decode(wait_Time,0,0,1)) "Prev",
sum(decode(wait_Time,0,1,0)) "Curr",count(*) "Tot"
from v$session_Wait
group by event order by 4;
2. 回滚段的争用情况
se ......
要求:查询每个老师所带毕业设计的汇总情况,毕业设计学生分本科、专科,院外、院内,要求得到的结果形式如下:
教师名 院内本科 园内专科 院外本科 院外专科 合计
相关的表有:学生表(包含学生层次)、教师表(教师名)、学生课题表(学生教师对应关系以及院内院外信息)。
SQL语句如下:
select
  ......
和其它程序一样,SSIS包同样需要健壮,稳定的运行,这样的程序才有可靠性和可伸缩性。SSIS提供了如下方面的支持:
1.事务: 可以对一个程序包设置成一个或者多个事务,甚至可以对两个程序包设置成一个事务。为了保证数据的一致性,你还可以DTC事务或者SQL Server引擎级的事务。 ......
1、SQL Server日期数据库内部表示及查询输出:
SQL Server内部对DateTime类型的表示是用8个字节来表示,其中前4个字节表示的数值为自1900年1月1日零时以来的天数,后四个字节是天数之外的有多少个1/300秒,这也说明SQL Server内部表示时间的精度为1/300秒,约3.3毫秒。
常规的SQL查询,正常日期输出格式为:yyyy-MM-dd hh: ......