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 ;
相关文档:
UPDATe [Sale_Goods] SET [Catalog33_ID] = [Catalog].[ID]
from [Sale_Goods]
LEFT OUTER JOIN [chdy222] ON [Sale_Goods].[Code] = [chdy222].[ID]
LEFT OUTER JOIN [Catalog] ON [chdy222].[ufidaname] = [Catalog].[Name] and [Catalog].[Type]=33
WHERE [Catalog].[ID] IS NOT NULL ......
能监控SQL Server数据库运行的情况,对服务器来说都是一件非常重要的事,下面开始介绍。
Microsoft SQL Server 2005 提供了一些工具来监控数据库。方法之一是动态管理视图。动态管理视图 (DMV) 和动态管理函数 (DMF) 返回的服务器状态信息可用于监控服务器实例的运行状况、诊断问题和优化性能。
常规服务器动态管理对象包 ......
具体解决步骤:
第一步:打开 SQL2005 用管理员登录先,然后在服务名处右击选属性>安全性>右边的登录方式选项改为 身份验证 确定!
第二步:选择安全性(展开)>登录名>双击sa>密码改成你需要的密码 确定!
然后关掉SQL2005 或者 断开连接
第三步:点开始>程序>选择SQL2005>配置工具>打开 configurat ......
自动提示的快捷键:F6
可以更改:Tools->Preferences->User interface->Key Configuration ,在Item列里找到“Tools/Code Assistant”,在后面对应的快捷改成自己喜欢的。
默认是不能自动提交的,按 F10 键可以在做更改后提交。 ......
1、查询三门功课都在80分以上的同学姓名(一条sql语句)
name kecheng fenshu
张三 语文 78
张三 数学 81
张三  ......