SQL优化的几个方向

关于优化项目的方向:
1.SQL语句逻辑的优化。
sql的优化其实可以在网上查到很多,这就不多说了。
2.索引的建立。
建立索引这部分是优化的重点。首先索引列的选择,如果语句中包含where和group by,那么索引列选择where后面等号左侧为列名右侧为定值而不是列名的字段和like左侧的字段名,例如:a1=‘1’和a2 like ‘%1’;如果只含有group by ,那么只能是能是group by后面的字段为索引。能这样做的前提是关联表的关联列为主键,含有偶or和函数的字段基本不走索引。索引可以以多个索引列组成的索引组的形式存在,这个可以查看执行计划,看怎样组合效率最高。索引在重建后需要在服务端runstats一下,收集分布统计信息,这样优化器才能选择最佳的访问路径,否则在索引删除又重建后优化器可能无法选择最佳的访问路径。
3.对于数据量大的表,在优化的这一层的前面,加一层(将ods的数据先抽取到这一层),在新加的这层再次加工数据。首先说明一下,对于两库操作的项目,这种优化方案不一定行的通,它不仅需要修改取数逻辑,还需要修改工作流的执行顺序。例如一个在from后面有子查询的select语句,select a,b,c from (select * from people where d!=2) where a=’001’,将其拆为两个简单的逻辑分别取数,对于修改工作流的执行顺序,因为实施人员进行跑批有一个顺序,需要将新加的取数逻辑添加上。
4.修改报表模板的逻辑。目前这种方法还没有用,暂不解释。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值