Oracle-SQL开发的经验总结
2013-09-30 14:01
337 查看
•Sql必须使用绑定变量(由于特殊业务逻辑不适合使用绑定变量的,需要得到DBA确认);
•Sql中变量的类型必须与字段定义一致;
•查询分区表时,条件要使用上分区字段,并且最好为闭区间,如:
ordertime >=
sysdate - 1 / 24 and
ordertime <=
sysdate,需要注意的是该区间需满足业务需要
•Sql条件中使用时间类型字段的,变量要声明为字符串并写成to_date()的形式来使用;
•避免索引字段上进行计算操作或者嵌套函数;
•能使用UNION ALL的不要使用UNION;
•用EXISTS替代IN、用NOT EXISTS替代NOT
IN;
•用EXISTS替换DISTINCT;
•只取自己所需要的列;
•Sql条件中禁止直接对日期字段列使用函数和运算,保证条件中的左边就只是日期字段列,比如:trunc(not_after_time
- TO_DATE(:1,'YYYY-MM-DD') , 0)<=:2,最好修改为not_after_time < ?;
•使用DECODE函数或case when
来减少查询次数或重复连接相同的表;
•禁止使用select * from tab,必须明确的写出列名;
•使用DECODE函数来减少查询次数或重复连接相同的表;
•总是使用索引的第一个列(指复合索引);
•需要使用hint的(由DBA确认给出),请勿随意删除修改hint的内容、位置(需保证语句中只有一个hint,且紧跟在select后面,表如果使用了别名,hint中也使用别名);
•用>=替代>;
批量dml操作必须使用批量提交的方式(1万条1 commit);
•Sql中变量的类型必须与字段定义一致;
•查询分区表时,条件要使用上分区字段,并且最好为闭区间,如:
ordertime >=
sysdate - 1 / 24 and
ordertime <=
sysdate,需要注意的是该区间需满足业务需要
•Sql条件中使用时间类型字段的,变量要声明为字符串并写成to_date()的形式来使用;
•避免索引字段上进行计算操作或者嵌套函数;
•能使用UNION ALL的不要使用UNION;
•用EXISTS替代IN、用NOT EXISTS替代NOT
IN;
•用EXISTS替换DISTINCT;
•只取自己所需要的列;
•Sql条件中禁止直接对日期字段列使用函数和运算,保证条件中的左边就只是日期字段列,比如:trunc(not_after_time
- TO_DATE(:1,'YYYY-MM-DD') , 0)<=:2,最好修改为not_after_time < ?;
•使用DECODE函数或case when
来减少查询次数或重复连接相同的表;
•禁止使用select * from tab,必须明确的写出列名;
•使用DECODE函数来减少查询次数或重复连接相同的表;
•总是使用索引的第一个列(指复合索引);
•需要使用hint的(由DBA确认给出),请勿随意删除修改hint的内容、位置(需保证语句中只有一个hint,且紧跟在select后面,表如果使用了别名,hint中也使用别名);
•用>=替代>;
批量dml操作必须使用批量提交的方式(1万条1 commit);
相关文章推荐
- "ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小"的解决,总结一下oracle开发的小经验
- MySQL-SQL开发的经验总结
- Oracle PL/SQL开发利器-Toad应用总结(一)-PL/SQL Program基本编写、调试
- ORACLE数据库开发经验总结
- 动态SQL开发基础和经验再总结
- oracle sql语句优化原则经验总结
- oracle ilearning开发经验总结
- ORACLE PL/SQL使用经验总结
- Oracle PL/SQL开发利器-Toad应用总结(一)-PL/SQL Program基本编写、调试
- Oracle PL/SQL开发利器-Toad应用总结(一)-PL/SQL Program基本编写、调试
- Oracle PL/SQL开发基础(第三十六弹:异常处理的一些经验)
- Oracle PL/SQL开发利器-Toad应用总结(一)-PL/SQL Program基本编写、调试
- ORACLE 数据库开发经验总结3
- ORACLE 数据库开发经验总结2
- ORACLE 数据库开发经验总结1
- Oracle SOA 开发运维经验总结
- ORACLE PL/SQL使用经验总结 [转]
- oracle:plsql学习总结(oracle database 10g sql 开发指南)
- IPhone 开发经验教训总结 -- 仅供参考
- Android开发经验总结