ITPUB论坛-中国最专业的IT技术社区

 
 注册
热搜:
查看: 288|回复: 4

[讨论] 求一些建议~~~~~

[复制链接]
论坛徽章:
0
跳转到指定楼层
1#
发表于 2017-11-22 19:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 xjlovezxx 于 2017-11-22 19:18 编辑

现有一套RAC+本地standby1+异地standby2的oracle系统,因为前期设计的问题,现在只能尽力去优化:

现有场景介绍:
1,有五张左右交易相关的大表(千万级别),insert,update很频繁。
2,在这几张表上同时有大量的查询统计的sql,索引已经十多个了,但是就业务来说还不够(暂时对insert,update还没有什么影响,1s)。
3,表中有大量的选择性很差的字段,比如交易状态(成功,失败),交易卡中(储蓄卡,信用卡等等),偏偏这些字段又是最频繁作为where条件的
4,表的字段很多,最多的150多个
5,业务架构暂时不能重新设计


有些什么好的优化建议~~~谢谢大家

论坛徽章:
394
阿斯顿马丁
日期:2014-01-03 13:53:522014年世界杯参赛球队:喀麦隆
日期:2014-07-11 12:10:53马上有对象
日期:2014-04-09 16:19:542014年世界杯参赛球队: 洪都拉斯
日期:2014-06-25 08:25:55itpub13周年纪念徽章
日期:2014-09-28 10:55:55itpub13周年纪念徽章
日期:2014-10-01 15:27:22itpub13周年纪念徽章
日期:2014-10-09 12:04:18马上有钱
日期:2014-10-14 21:37:37马上有钱
日期:2015-01-22 00:39:13喜羊羊
日期:2015-02-20 22:26:07
2#
发表于 2017-11-22 20:51 来自手机 | 只看该作者
汇总 物化视图

使用道具 举报

回复
论坛徽章:
480
榜眼
日期:2015-09-09 10:34:21秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12状元
日期:2015-11-23 10:04:09举人
日期:2015-11-23 10:04:09
3#
发表于 2017-11-22 23:05 | 只看该作者
楼主没有说目前碰到什么问题。
1. 没毛病
2. 加索引要权衡收益及成本,现在测试环境中验证
3. 如果和选择性强的条件一起使用,完全不用担心。
   如果查询仅仅在这种列上:一般不会有查询这种大量输出的需求;如果是查汇总结果,可以用物化视图或其他预先计算、存放结果的方法。
4. 如果本来就不是一起使用的列,属于不同业务,就该拆分表。否则就保留原设计,因为使用的时候还得连接回来更不合算。

使用道具 举报

回复
论坛徽章:
0
4#
 楼主| 发表于 2017-11-23 10:20 | 只看该作者
newkid 发表于 2017-11-22 23:05
楼主没有说目前碰到什么问题。
1. 没毛病
2. 加索引要权衡收益及成本,现在测试环境中验证

1,暂时没什么毛病,但是最近大商户接入越来越多,后面肯定是有毛病的
2,加索引是业务需要,但是又怕影响insert和update,因为交易很频繁,所以很头疼
3,很多查询都是仅仅只有这些选择性很差的列,比如某个商户需要统计全部的交易成功的订单,而交易状态只有成功,失败两种状态,所以必须全扫,并且类似这种需求还有点多。物化视图,result cache我都考虑过,但是都不合适,一是数据实时性要求高,二是增删改多,所以实时物化刷新,result cache都不太合适
4,现在的大部分DQL都是很多张表关联查询,这属于前期的业务及数据模型的设计问题,可是现在又不能有太大的变动,7X24的系统,一分钟都不能停的。

我现在唯一能想到的解决方案就是OGG双活 一个节点做oltp  一个节点做olap,并且根据业务还得需要做双向的

使用道具 举报

回复
论坛徽章:
480
榜眼
日期:2015-09-09 10:34:21秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12状元
日期:2015-11-23 10:04:09举人
日期:2015-11-23 10:04:09
5#
发表于 2017-11-23 22:51 | 只看该作者
1. 压力测试,未雨绸缪
2. 不用怕,压力测试看看实际效果
3. 在12.2有个新功能:
alter materialized view qz_toys_mv enable on query computation;
它会应用物化视图再加上实时计算凑出最新数据。你自己也可以实现,比如把截止到昨天的统计结果保存到表中,需要查询时就拿出来再加上当天的实时统计数据,这样就减少计算量。
4.如果已经发现设计有问题,越早解决越好。如果有7X24要求,应该早就规划,用一些高级特性,比如:

Edition-Based Redefinition
/thread-1396183-1-1.html

Online Redefinition


OGG双向复制风险很大,你最好想清楚。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 |
  | | |
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
 北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表