Oracle之优化sql
2015-07-27 20:09
597 查看
1 在查询的时候避免使用*,要用实际的列,因为*会被解析成实际列,会降低查询效率;
2 尽量用truncate代替delete作删除,因为truncate不会产生回滚的事物,可以提高操作效率;
3 对于多次操作,尽量多次提交事物,因为每提交一次事物,都会释放一次事物占有的资源;
4 尽量用关联查询代替子查询,因为子查询外表检索一次,内表就需要遍历一次整表,效率较低;
5 尽量用exists代替in,用not exists 代替not in,因为in需要整表遍历;
6 where子句中尽量把过滤大量数据的条件写在后面,因为where子句是从后往前解析的。
7 对大量的数据的查询,适当建立索引。因为索引会降低修改的语句,所以要适当建立索引。
8 对于大表数据创建表分区,会提高查询效率。
2 尽量用truncate代替delete作删除,因为truncate不会产生回滚的事物,可以提高操作效率;
3 对于多次操作,尽量多次提交事物,因为每提交一次事物,都会释放一次事物占有的资源;
4 尽量用关联查询代替子查询,因为子查询外表检索一次,内表就需要遍历一次整表,效率较低;
5 尽量用exists代替in,用not exists 代替not in,因为in需要整表遍历;
6 where子句中尽量把过滤大量数据的条件写在后面,因为where子句是从后往前解析的。
7 对大量的数据的查询,适当建立索引。因为索引会降低修改的语句,所以要适当建立索引。
8 对于大表数据创建表分区,会提高查询效率。
相关文章推荐
- Oracle OCP笔记(27)RMAN备份
- oracle数据库在ibatis的批处理
- oracle 任务使用
- oracle---DBLink
- ORACLE-014:oracle中查看DBLink密码
- Linux平台 Oracle 11gR2 RAC安装Part3:DB安装
- Linux平台 Oracle 11gR2 RAC安装Part2:GI安装
- ORACLE授权
- ORACLE授权
- Oracle 经典练习语句
- windows下同一台服务器上装有两个ORACLE数据库实例,通过命令启停数据库
- oracle 执行 delete user$ 误删所有用户信息后的数据恢复流程
- oracle 执行 delete user$ 误删所有用户信息后的数据恢复流程
- Oracle SQL ANY和ALL语句
- ORACLE数据迁移
- zf-关于改绍兴县2个简单的BUG却需要ORACLE数据库的感慨
- ORA-01033: ORACLE initialization or shutdown in progress (DBD ERROR: OCISessionBegin)
- Oracle中的延迟块的清除方法
- Oracle 锁表 解锁
- linux下oracle手动启动服务和监听命令