我希望将一些数据库二元化介绍到严重规范化的系统。
我有一大堆数据库,这些数据库超过了十年,并在增加的负载量下,所以我希望提高性能,可能降低一些查询的复杂性。
在存储过程中完成任何给定任务,执行10个连接并不罕见。我被告知更多,那么6个臭味。
如果我保留表结构,并提供一些物化视图或非规范化的“缓存”表。
关于最佳实践的一些建议或朝着正确的方向推动会有所帮助。
谢谢
看答案
你不说问题是什么。是表演吗?如果是的话,在什么表?
它真的是导致问题的联系吗?或者是存储的程序吗?你不知道(或者至少,你不说)。
最佳练习:在尝试解决您尚未诊断的问题之前,弄清楚您的瓶颈首先是首先。
编辑:当我们有表现问题时,我提醒了一段时间。存储过程非常缓慢,可能需要几分钟时间完成。事实证明,这些SPS正在做出正常的表格更新,
但是使用游标。对于简单的东西
update t set c = c + 1 where id = n.
所以要做一个更新,我们正在使用一堆带有昂贵的更新游标并做的行
declare cursor for "select c from t where id = n" for update; 然后是一个打开的光标和读取和错误检查以及带有读取和错误检查的循环
select c into @c; @c = c + 1; update t set c = @c where current of cursor; 每次更新。
结果是那些写的人并没有意识到我们可以发出更新声明。所以他写了几十个这些缓慢的存储过程。我们甚至不需要摆脱储存的过程(虽然这也会增加我们的速度,它会改变我们的客户);我们刚刚摆脱了光标,用更新陈述替换它们。表现问题消失了。
编辑推荐:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 基于LINUX的10.2.0.4升级到10.2.0.5标准实施文档
基于LINUX的10.2.0.4升级到10.2.0.5标准实施文档
26-03-03 - Redis知识点笔记总结
Redis知识点笔记总结
26-03-03 - 一次ORACLE分布式事务锁异常处理分析
一次ORACLE分布式事务锁异常处理分析
26-03-03 - 一次DG故障诊断过程分析
一次DG故障诊断过程分析
26-03-03 - ORACLE中Cursor_sharing参数详解
ORACLE中Cursor_sharing参数详解
26-03-03 - nmon 和nmon analyser工具的使用方法
nmon 和nmon analyser工具的使用方法
26-03-03 - Solaris下Oracle RAC 11.2.0.4 安装方法
Solaris下Oracle RAC 11.2.0.4 安装方法
26-03-03 - ORACLE filesystemio_options参数详解及IO场景测试
- 使用ORACLE ASMFD配置ORACLE存储标准化
使用ORACLE ASMFD配置ORACLE存储标准化
26-03-03 - 一次ORACLE数据库undo坏块处理
一次ORACLE数据库undo坏块处理
26-03-03
