SQL优化解决思路
2009-07-15 15:48
267 查看
下面是我总结的SQL优化思路,也是对自己做了这几年系统和数据库优化的一个小结,不是很完整,写这个文档是应付领导的,现在共享出来,以后在慢慢更正吧!
数据库层面优化解决思路:
当出现SQL查询比较慢问题
在数据库层面,优化方法一般采用,减少访问次数,高效SQL,建立索引和建立表分区,好的数据库表设计。
情况一:一个功能执行很慢,通过SQL Profile取出SQL语句。如果查看sql的各个表,如果查询的表的数据量在5万以下,
解决思路:
1,看该查询sql是否在循环语句的调用,如果是看是否能改成一条SQL,尽量减少访问数据库
情况二,查询的表数据量比较大(超过50万以上)
1,检查SQL语句的写法:
这是一个看SQL语句的写法:
1,避免使用: like ‘%关键字%’
2,使用分页,减少查询出数据量。
3,避免在字段上使用函数:
如 upper(“字段”)=值 改成 字段=upper(‘值’) 。
4, 尽量少用”or”关键字
2,对查询的字段建立索引
如:select * from doc where objid=’ 4028819e181e984c01181f5874f703f1’
查询如果慢的话,就需要在doc 表的objid建立索引
3,对大表建立分区
对大型的表一般建立分区,可以按照是否结束(isfinished),是否删除(isdeleted),和模块分区(doc ,cusr等)等来分区。
数据库层面优化解决思路:
当出现SQL查询比较慢问题
在数据库层面,优化方法一般采用,减少访问次数,高效SQL,建立索引和建立表分区,好的数据库表设计。
情况一:一个功能执行很慢,通过SQL Profile取出SQL语句。如果查看sql的各个表,如果查询的表的数据量在5万以下,
解决思路:
1,看该查询sql是否在循环语句的调用,如果是看是否能改成一条SQL,尽量减少访问数据库
情况二,查询的表数据量比较大(超过50万以上)
1,检查SQL语句的写法:
这是一个看SQL语句的写法:
1,避免使用: like ‘%关键字%’
2,使用分页,减少查询出数据量。
3,避免在字段上使用函数:
如 upper(“字段”)=值 改成 字段=upper(‘值’) 。
4, 尽量少用”or”关键字
2,对查询的字段建立索引
如:select * from doc where objid=’ 4028819e181e984c01181f5874f703f1’
查询如果慢的话,就需要在doc 表的objid建立索引
3,对大表建立分区
对大型的表一般建立分区,可以按照是否结束(isfinished),是否删除(isdeleted),和模块分区(doc ,cusr等)等来分区。
相关文章推荐
- SQL优化解决思路
- 一次ORA-4030问题诊断及解决【解决思路不错,说明了对象的统计信息与优化器的优化操作(即选择执行一个SQL语句在该优化参数环境下最佳的执行计划)间的关系】
- 解析IBM SQL-on-Hadoop的优化思路
- SQL 查询性能优化 解决书签查找
- 使用RNN解决NLP中序列标注问题的通用优化思路
- SQL 查询性能优化----解决书签查找
- SQL 查询性能优化----解决书签查找
- Oracle DBA做SQL优化的最佳思路
- 转:使用RNN解决NLP中序列标注问题的通用优化思路
- 关于数据量过大,且SQL已经不能再优化的视图的解决办法(二)
- 机器学习模型优化中常见问题和解决思路
- 使用RNN解决NLP中序列标注问题的通用优化思路
- 性能优化分析案例---解决SQL语句过度消耗CPU问题
- MS SQL " 无法启动分布式事务"问题的解决思路
- 使用with as优化sql解决filter
- EBS的优化问题解决思路
- ORACLE使用WITH AS和HINT MATERIALIZE优化SQL解决FILTER效率低下
- 面试中SQL优化回答思路
- 数据库性能优化分析案例---解决SQL语句过度消耗CPU问题
- MS Sqlserver优化实战(解决CPU利用率高及查询操作速度慢)