数据库及SQL语句优化

数据库优化:

1)适当的冗余数据:经常被关联的字段可以做适当的冗余

2)适当建立索引:经常要被作为查询条件被查询,或者经常被查询的字段,作为表关联的字段要做索引

3)对表水平切分:一般是数据量很大的表。比如交易表。可以按每个季度将一个表分成4个表

4)对表垂直切分:有的表数据不多,但是有的字段数据很大。比如企业账户信息表。可以将企业账户的印章字段分开来,与原表作一一对应

5)对于文件、图片等大数据用文件系统存储,尽量不要使用数据库

6)对于大批量的数据,可以通过批处理来完成,不要在应用程序里处理。

7)为数据库做集群

SQL语句优化:

1)统一的SQL语句写法,因为统一个SQL语句不通的写法,哪怕是大小写不一样,也会声称不通的执行计划

2)尽量简单的SQL语句,一是阅读方便;二是复杂的SQL的语句容易产生错误的执行计划,而且执行计划重用性不高。

3)使用临时表存放中间结果。

4)尽量使用索引查询:(那些破坏索引使用的情况)

5)使用UNION ALL 代替UNION 因为UNIO会对结果进行排序过滤去除重复数据,效率低

6)只返回需要的字段

7)对于业务复杂的SQL语句或者涉及到安全操作的SQL语句可以通过调用存储过程来实现

8)使用连接或者EXIST来代替IN/NOT IN

9)尽量少用NULL判断




参考:http://www.cnblogs.com/ATree/archive/2011/02/13/sql_optimize_1.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值