知识大全 数据库系统优化--业务逻辑设计优化

Posted 客户

篇首语:白日放歌须纵酒,青春作伴好还乡。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据库系统优化--业务逻辑设计优化相关的知识,希望对你有一定的参考价值。

  【IT 技术分析】

  当我们优化一个系统时 有时发现一种情况就是自己修改SQL 索引以及分区是不能解决性能问题的 这时你要考虑业务逻辑优化和表设计的重构 这两点的确和设计结合的很紧密

  业务逻辑优化

  结合实际 我们先谈谈业务逻辑优化

  案例一

  我们的系统一个文档模块 客户点击时很慢 通过性能分析 是点击是去查询数据库 这时系统是通过Hibernate来两步处理

   计算该类型的文档数量总数

   显示最新文档的前 篇文档

  这时显示第二步的时间是很快的 只取 条记录 但是计算该类型的所有总数很慢 系统的这时的输入是很大的(计算该类型的全部文档 可能有几万篇数据) 输出就一条总数 这时因为业务逻辑复杂 即使建立索引 分区等等速度也是无法提高 因为不能真正做到索引覆蓋和分区消除

  客户是点一下要等十几秒是不能容忍的 这时可能输入数据量很大下 数据库很可能采用的是hash联结 而且并发用户一大 数据库服务器压力很大

  这时常规的优化方法是没有效果的 这时我们也发现 客户其实对以前比较老的数据是不关心的 一般只是对近期的数据比较感兴趣 所有我们就在查询时默认设定半年的时间 然后在时间上设定聚集索引 并默认在此时间上排序 使其使用合并联结 减少输入数据量 结果速度有明显的提升

  案例二

  我们在优化一个客户系统时 碰到一种情况 在客户的一选择功能时 客户点击一下选择相关数据 这时页面要要几分钟才能出来 客户很不满意 这时修改sql和索引都没有办法 他的输入的数据量也很大 和上面一下也要计算总数和取最新前几条数据

  这时我们在查询是关联了人员 通过调查 发现客户只对和自己相关的数据感兴趣 也只是查询自己相关的数据 所以这时在sql语句里增加用户id这条限制 同时在增加userid的索引 这样一来 速度就大大提高

  总结

  当然以上两个案例 是从输入入手 减少输入和输出的数据量 主要优化业务逻辑 达到优化系统 当然有些情况要和客户确认和说服他们 有时他们不一定都认可 这时要说明这样做的目的 相信他们也会理解

  表设计优化

  表设计 在我们开发系统时已经确定 好的设计的确能大大提高性能 我们在优化系统时 碰到一个比较麻烦的问题

  原文 数据库重构(一) 字段合并

  这条sql是判断 个维度 一个用户id 一个机构id 一个岗位id 还有级别判断和是否公共 sql语句里有 个 or 组成查询 表数据一大就表扫描 性能很差 但业务要求和系统要求这样判断 即使在表中这五个字段都建索引 速度也不会快 太多 OR 了 SQL Server 查询分析器无法优化

  这时由于设计时 用户id 机构id 岗位id为 个只有一个有数据 所以将这 个字段合并 较少 Or 语句 让数据库能使用索引

  总结

cha138/Article/program/SQL/201311/16321

相关参考

“十三五”时期,注册会计师行业( )管理水平不断提升。财政会计行业管理系统升级优化,会计师事务所设立审批、年度报备、会计师事务所从事证券服务业务备案等事项全程网上办理,实现“让数据多跑路,让群

会计改革与发展十四五规划题目:“十三五”时期,注册会计师行业()管理水平不断提升。财政会计行业管理系统升级优化,会计师事务所设立审批、年度报备、会计师事务所从事证券服务业务备案等事项全程网上办理,实现

知识大全 关于数据库编码优化的一些看法的讨论

  有关数据库的优化这个问题平常一般我们接触的比较少所以有时没有引起足够的重视但是在某些时候这将关系到整个软件的成败    一般来说我们考虑要做数据库的优化的时候是建立在设计已经定型的基础上的往往设计

知识大全 Oracle数据库系统性能优化策略

Oracle数据库系统性能优化策略  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一个数据库系统

知识大全 数据库规范化与优化问题讲解

  数据库设计是应用程序设计的基础其性能直接影响应用程序的性能数据库性能包括存储空间需求量的大小和查询响应时间的长短两个方面为了优化数据库性能需要对数据库中的表进行规范化规范化的范式可分为第一范式第二

知识大全 关于数据库优化问题收集汇总

笔者在工作实践中发现不良的SQL往往来自于不恰当的索引设计不充份的连接条件和不可优化的where子句以下就对数据库优化问题进行了介绍需要的朋友可以参考下 在对它们进行适当的优化后其运行速度有

尾矿水综合利用系统优化设计

平煤集团供水总厂的源水以尾矿水和水库水为主。尾矿水约占总供水两的1/6,尾矿水的处理,既是环境保护的需要,也能部分弥补源水不足,同时变废为宝,增加企业效益,这也是响应集团公司大力发展循环经济、节能减排

尾矿水综合利用系统优化设计

平煤集团供水总厂的源水以尾矿水和水库水为主。尾矿水约占总供水两的1/6,尾矿水的处理,既是环境保护的需要,也能部分弥补源水不足,同时变废为宝,增加企业效益,这也是响应集团公司大力发展循环经济、节能减排

尾矿水综合利用系统优化设计

平煤集团供水总厂的源水以尾矿水和水库水为主。尾矿水约占总供水两的1/6,尾矿水的处理,既是环境保护的需要,也能部分弥补源水不足,同时变废为宝,增加企业效益,这也是响应集团公司大力发展循环经济、节能减排

生物膜载体系统的优化设计

目前在市政污水厂除了对含碳有机物进行削减以外也必须对含氮物质加以去除。对含氮物质的去除通常采用硝化和反硝化工艺。进行硝化时必须消耗大量的氧气和能量。反硝化则相对来说能量消耗较少,但是需要大量的碳源。如

生物膜载体系统的优化设计

目前在市政污水厂除了对含碳有机物进行削减以外也必须对含氮物质加以去除。对含氮物质的去除通常采用硝化和反硝化工艺。进行硝化时必须消耗大量的氧气和能量。反硝化则相对来说能量消耗较少,但是需要大量的碳源。如