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 ;
相关文档:
有例表:emp
emp_no name age
001 Tom 17
002 &nb ......
监控数据库性能的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 ......
MS SQL的一些经典常用操作语句汇总 【http://hi.baidu.com/kychen88/blog/item/b3c8e7d960821b3c32fa1cee.html】
1.按姓氏笔画排序:
Select * from TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as
2.数据库加密:
select encrypt('原始密码')
select pwdencrypt('原始密码')
select pwdcomp ......
具体解决步骤:
第一步:打开 SQL2005 用管理员登录先,然后在服务名处右击选属性>安全性>右边的登录方式选项改为 身份验证 确定!
第二步:选择安全性(展开)>登录名>双击sa>密码改成你需要的密码 确定!
然后关掉SQL2005 或者 断开连接
第三步:点开始>程序>选择SQL2005>配置工具>打开 configurat ......