改善数据库性能的几点建议

1.提高SQL语句的可读性:

虽然这并不能直接影响数据库的性能,数据库并不在意你的SQL语句的外观是否整洁,但当我们用调整的眼光去观察一个SQL语句时,SQL语句的可读性就是我们将要考虑的第一个问题,试问如果我们连语句都很难看清那么我们又该如果判断该语句是否正确甚至是对该语句进行修改和优化呢?所以,为了能让我们的SQL语句能拥有更好的可读性。我有以下几点建议提供给大家。

  • 让每个子句都从新的一行开始:这可以使我们的SQL语句层次更分明一目了然。
  • 当子句内参数超过一行需要换行时,使用制表符或空格进行缩进
  • 当语句中使用多个表时,使用表的别名:假设这些表的全名都比较长,那么多次使用全名将会使得我们的语句变得冗长。
  • 有节制的使用注释:过分使用注释将让我们的语句显得十分臃肿
  • 让select的多个字段都从新的一行开始:这能让我们更直观的知道自己需要什么。
  • 如果from子句中使用了多个表那么每个表名都从新的一行开始
  • 让where子句的每个条件都从新的一行开始:让我们可以清晰的看到所有条件和次序。

2.FROM子句中的表的次序

由于结合操作通常从表中返回大部分数据,所以结合条件应该在更严格的条件之后执行

3.结合条件的次序

一个原则,让排除越多的条件越优先执行

4.大规模数据避免全表扫描
合理的使用索引可以大大提高数据库性能
5.使用LIKE操作符和通配符
6.避免使用OR操作符(用IN代替)
7.避免使用HAVING子句
避免使用HAVING子句,HAVING 只会在检索出所有记录之后才对结果集进行过滤。这个处理需要排序,总计等操作。如果能通过WHERE子句限制记录的数目,那就能减少这方面的开销。
8.避免大规模排序操作
很占内存
9.使用存储过程

10.删除冗余记录
给数据库瘦个身,避免检索重复数据

11.避免多次访问数据库

数据库每次在被访问时都会执行很多操作,这必将耗费一些时间而这些时间的耗费是可以尝试避免的
12.SELECT子句中避免使用‘*’:
Oracle在解析的过程中, 会将‘*’依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值