如何优化设计方案(如何优化设计方案内容)
大家好!今天让创意岭的小编来大家介绍下关于如何优化设计方案的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。
开始之前先推荐一个非常厉害的Ai人工智能工具,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等
只需要输入关键词,就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端
创意岭作为行业内优秀的企业,服务客户遍布全球各地,如需了解相关业务请拨打电话175-8598-2043,或添加微信:1454722008
本文目录:
一、六西格玛黑带培训如何选择优化设计?
一、六西格玛黑带培训优化设计的目的在于根据一些标准选择设计点,可以通过选择优化设计达到:
1、选择一组“优化”的设计点
2、向现有设计增加设计点
3、改善现有设计的期望值D
4、评估和比较设计方案
二、六西格玛黑带培训对话框内容
1、标准
A、D-optimality:选择该项可以从一组候选点中选择适合的D点,用该标准选择的设计方案可使回归模型中的变差小化。
B、Distance-based optimality:选择该项可基于距离优化方法选择设计点。用该标准选择的设计方案可在设计空间均匀地扩展设计点。该方法用于需事先选择模型的场合。
2、Number of Points in optimal design:输入为优化设计所选择的点的数量。如果选择标准为“D-optimality”,点的数量至少需与模型包含的项数相同,如果选择标准为“Distance-basedoptimality”,点的数量需少于等于候选设置中确立的设计点数量。
3、Specity design columns:如果选择标准为“Distance-based Optimality”,需删除不包含于优化设计中的栏。作为缺省设置,Minitab将所有输入变量包含于设计中。
4、Task。
A、Select Optimal design:选择一个优化设计。
B、Augment/improve design:增加或改善一个现存设计。
C、Evaluate design:评估一个设计。
张驰咨询认为,有流程的影子就有六西格玛改善的空间。
在制造行业,人们总是聚焦于优化产品的质量;而在服务行业,人们则是聚焦于客户关系。六西格玛对企业的用途总结如下:(减少成本、提高生产率、增加市场份额、保留顾客、缩短周期时间、减少缺陷、改变企业文化、改进产品/服务、提升企业综合竞争力等)
张驰咨询提供六西格玛公开课/线上培训与项目辅导。(六西格玛、精益六西格玛、六西格玛设计)
二、如何选择设计方案,如何优化系统的功能是综合性原理的两个重要方面
机械设计任务机械设计任务是根据整体设计,按照程序的原则确定,确定并得出具体的结构图,以反映所要求的功能。工作原理被实施为一个抽象类的成员或部分,以确定该材料,形状,尺寸,公差和热处理的表面状态的具体内容,而结构部件,必须考虑处理,强度,刚度和精度他们和其他地方的问题之间的关系。因此,虽然直接的产品结构设计技术图纸,但结构不是简单的机械设计图纸,设计图纸只是表达的语言,具体的集成技术是结构设计的基本内容。 5.1.2 主要特征的机械设计机械设计特点是:(1)它是一种思想,绘图,计算(有时是必要的实验)于一体的设计过程中,所涉及的最大机械设计问题,最具体地,在整个机械设计过程中,对结构设计的平均时间约80%,机械设计成功的最大会话的工作量起着重要的作用。 (2)多解的机械设计问题,满足机械结构的要求相同的设计不是唯一的。 (3)机械设计阶段是设计的一个非常活跃的一部分,而且往往需要重复交叉。为此,在机械结构设计必须开始了解基本要求的机械结构和设计方法的结构元件的机械5.2结构5.2整体机几何元素机械结构功能0.1结构主要依赖于机械部件和各种部件来实现的几何结构之间的相对位置。通过其表面构成的部件中,通常有多个表面部分,这些部分的表面与其他部件的表面直接接触的几何形状,表面的这一部分被称为功能性的表面。在表面之间的联接的一些功能被称为耦合表面。 功能表面是在确定零件的机械功能,设计是结构设计问题的表面部件的核心功能的一个重要因素。表面几何形状描述的表面几何形状,尺寸,表面数量,位置,顺序等的主要功能,通过功能表面设计的变化,你可以得到相同的技术实现方案的具有多种结构。 <BR 5.2.2结构/>机器或机械的,不是孤立存在的任何部件。因此,除了学习部分本身和其它功能的功能,而且还必须研究在结构设计上的部件之间的关系。 相关部分纳入直接相关或间接相关的类。凡20直接装配关系,有直接的关系。还有就是组装成为间接关联之间没有直接关系。间接分为位置相关的和与体育有关的类别。地点是二十关联相互位置是必需的,比如在两个相邻轴减速机,中心距必须保证一定的精度,两轴必须平行到Vこ华丽的值?生气吗? e心胸狭窄稀的T-硕?喙敢入侵还据哦不小心?脑主?流苏S Huang桓窝粗心?发泄吴?费嗒嗯脑裂是苏珊禅师?流苏1桂肫称为杏月的一声谥开普敦市中心的南线和线?精致的妆容强脊采矿苗激嗯椭球崇高峰鬃毛呦嚎轩五馆さ?缘?鬃毛盛来运脊熘?淹没喙吴辉孟乎安?有一兴爆炸峰?淹没?大师?喙亍? BR> 大多数零件具有两个或多个直接相关的部件,其中最为具有以下结构的两个或更多个部件以及其他相关部件的每个部分。在设计时,20份必须考虑直接相关的热处理,该材料的形状,尺寸,精度和表面质量等的一个合理的选择。也必须考虑,以满足间接相关条件,例如一个链和精度计算的大小。一般而言,如果一个部分是直接相关的更多的部分,更复杂的结构;更间接相关的部分,它的精度的部件是高。例如,图5.1集线器连接。 5.2.3结构设计和材料,根据不同结构的热处理应当指出,一些材料问题机械设计的选择,不同的材料具有不同的特性,不同的相应不同材料的加工,结构设计应适当的材料,根据功能要求不仅合理的选择,但也确定根据材料的类型相应的处理,并判断根据处理要求的适当的结构,并仅通过适当的材料,选择最充分地利用结构设计。 设计师做了正确的选择材料必须充分了解所选材料的机械性能,加工性能,成本等信息。结构设计应根据所选择的材料和相应的处理特性,并按照不同的设计原则。 如:机械性能的拉伸和压缩时,钢基本相同,因此钢梁结构多为对称结构。抗压强度远远高于铸铁的抗拉强度越大,所以铁结构承受弯曲大多非对称形状的时刻,使最大压缩应力负荷大于的最大拉伸应力,在2铸铁支架上的图标对比5.2。钢设计通常增加了强度和结构刚度,但如果铸造结构的壁厚过大则难以保证铸件质量,增加了该方法的横截面尺寸,所以铸造结构通常是由提高加劲板和隔板的刚性和结构强度的方法。由于塑料材料的刚性差,高应力,由于该结构的翘曲所引起的铸件的冷却不均匀,所以塑料结构是类似的肋和对称的厚度。 对于需要热处理加工的零件,使结构设计的要求有以下几种应用:几何形状(1)部分应该是简单的,对称的,理想的球形。 (2)具有不同的横截面部分,在横截面的大小的变化必须平缓,以避免突变。如果相邻部分的变化是不均匀冷却的过大时,横截面尺寸,内部应力不可避免地形成。 (3)以避免尖锐的边缘锋利的结构中,为了防止过热熔体的锋利边缘或拐角,通常在槽或孔的边缘切割倒角为23mm。 (4),以避免空隙,在淬火断面变形厚度差距,更高的倾向截面厚度开裂。 基本要求机械产品,结构设计,内容和要求 5.3.1机械设计也有很大的不同,但都具有相同的公用部分。这里有三个不同级别的机械设计来说明的结构设计的要求。 1。功能设计,以满足主要机械的功能要求,体现在技术。由于实现原理,工作,工艺,材料和装配方面的可靠性。 2。考虑到的各种要求和限制,旨在提高产品质量和性价比的质量,它是一个现代化的工程设计特点。具体操作,外观,成本,安全,环保等多方面的要求和限制。在现代设计中,设计的质量是非常重要的,往往决定其产品的竞争力。这只是为了满足的主要技术特点的要求,时代的机械设计已经过去,整合各种要求,提高产品质量,关键是现代机械设计。相比于考虑工作原理,考虑到不同的需求似乎是设计细节问题,但细节之和质量,产品质量是工艺和材料不仅是一个问题,以提高设计的质量应该是启动。 3。创新设计,优化设计和结构设计变量和其他方法来构建系统优化设计空间,优化和创新,创意设计思维等科学方法。 以提高产品的质量更是层出不穷,日益激烈的市场竞争中,对于个性化方向发展的需求。因此,优化设计和创新的设计在现代机械设计和更重要的角色,他们将是未来的技术竞争力的产品发展的重点。 得到一个可行的解决方案结构的结构设计一般不困难。机械设计的任务是找到一个更好的,或在许多情况下的最佳可行的解决方案。前提结构优化设计是为了能够建造了大量的可能性,可首选的解决方案是建立了大量的优化解决方案的空间,这是最有创意的地方的结构设计。目前的基本结构优化设计仍局限于那种用数学模型描述的问题。多潜能,多结构优化效果,应根据解空间的由工艺,材料,耦合方式的结构设计,形状,顺序,方向,数量,大小及其它设计变量所构成的。 5.3.2的最终基本设计准则的机械结构的结果机械设计中所示的形式的结构,可根据最终产品的加工,组装,制造所设计的结构。因此,机械结构的设计应满足产品的基本功能要求,可靠性,技术,经济性和外观要求等方面的各种要求。此外,还应完善的受力零件,提高了强度,刚度,精度和寿命。因此,机械结构设计是一个综合性的技术工作。由于结构设计的错误或不合理的故障可能会导致不必要的部件,使机器无法达到的组装和维修设计要求的精度带来了极大的不便。机械设计过程中应考虑以下设计标准。 1。实现方式的设计标准所需的功能 2。满足设计标准的强度要求 3。符合该结构的设计准则刚度 4。考虑 5的工艺设计标准。考虑装修设计标准 6。考虑设计标准 5.3.2基本设计准则的机械结构 1。实现了所需的功能产品设计标准设计主要目的是为了实现预定的功能要求,从而实现了设计标准,结构设计所需的功能是首先要考虑的问题。要满足功能要求,你必须做到以下几点。 (1)明确功能:设计根据其在机功能彼此之间的连接,并与其他成分,来确定形状参数的大小和结构。组件的主要功能必须承受的负荷,传递运动和动力,以及确保或维持相关的零件或部件之间的相对位置或轨迹等机器的整体结构设计应能满足其功能需求来考虑。合理分配(2)功能:产品设计,根据具体情况,通常需要对任务的合理分配,即功能分解成多个子功能。每个子功能应该已经确定了部件之间的承诺的结构应该有一个结构合理,协调关系,实现总功能的目标。多结构件具有相同的功能可以减少部件的负担,延长使用寿命。 V形结构,其横截面是任务的合理分配的一个例子。纤维绳承受的张力;橡胶填料层承受拉伸和压缩带在弯曲;滑轮用布覆盖在生成必要的摩擦传动的插槽中的作用。例如,如果仅由螺栓预紧力承受横向载荷所产生的摩擦,螺栓的尺寸将过大,增加的剪切元件,如销,套筒,等等的关键横向负载分担来解决这个问题。 (3)的特性集:为了简化了产品的机械结构,降低处理成本,易于安装,并且在一些情况下,部分或部件可以假设多个功能。形状特征集使更复杂的部件,但是具有一定程度的,但在其他方面影响的过程中,增加了加工成本,应根据具体情况而设计的。 5.3.2基本机械结构设计标准 2。满足设计标准的强度要求(1)强度标准,如改变的部件的横截面尺寸要适应其内部应力的变化,等于横截面的强度。根据相等强度的结构设计的原理,该材料可以得到充分的利用,从而减少了重量和成本的降低。如果支腿,阶梯轴设计。图5.3。 为了直观地表示如何转移的机械部件会被视为有水流动的力图5.3 (2)受力合理流动结构国家权力该组件,力这些行合并成流的力量。指示该流的力起着在检查的结构设计有重要作用。 力流不中断的成分,力线中的任何一个也不会凭空消失,它会从一个地方传递,来自另一个地方。另一个特点是,它趋向于迫使流通过沿着最短路径,在动力如此密集流的高应力区域形成的周边的最短路线。力流稀疏或无电源的其他部分从压力的角度来看,没有得到充分利用的材料流过。因此,如果该部件是增加刚度,力的流应该有可能通过设计部件的形状,以降低轴承区的最短路线,并且因此较小的累积变形,提高了构件的刚性,在材料被充分利用。 悬臂布置小锥齿轮,伞齿轮轴承应尽可能接近,以减少在悬臂的长度,提高了轴的弯曲强度。图5.4的几个例子一个典型的例子。 (3)减少应力集中结构峰回路转时用力流动方向,流动在转折点的力量就太密集,造成应力集中,应采取的设计措施结构,从而使劳动力流动转向平缓。应力集中是影响零件的疲劳强度的重要因素。结构设计应尽量避免或减少应力集中。该方法将在适当的部分,如增加了圆角要描述的,使用卸载结构。图5.5。 (4)如此?,在机器工作经常会产生一些不必要的力,惯性力,斜齿轮的轴向力,这不仅增加了动力轴和套管载荷的其他部分,降低了精度和寿命,而且还降低了机器的传输效率。负载均衡指的是所谓的措施来平衡所有的结构的全部或部分而不力,以减少或消除其不良影响。这些结构上的措施主要是为了平衡元件,对称地布置等等。 例如,通过在同一轴上产生的,通过合理选择和牙齿的大小与轴向力的旋转的螺旋角的轴向力2斜齿轮相互抵消,从而使轴承负荷减小。图5.6。 5.3.2基本机械结构设计标准 3。满足设计标准结构刚性部件,以确保使用来实现其功能的正常期间,它必须有足够的刚性。 5.3.2基本的机械结构设计标准 4个主要的考虑工艺设计标准的目的结构设计是:确保实现功能,使产品达到性能要求。然而,生产成本的结构设计和产品组件的影响质量的结果也不容小觑。因此,在结构设计上应力求与所谓的好良好的加工工艺,使产品指的是结构件,易于制造的过程中,处理方法有什么样的可能不是某些结构件的制造,或生产成本高,或质量会受到影响。因此,设计人员识别处理方法的特征是很重要的,该结构的设计,以避免缺陷。在实践中,结构部件的方法是由许多因素,如生产量的大小会影响到生成方法坯料的约束;生产设备的条件可能会限制工件的尺寸;此外,建模,精度,热处理,成本等方面可能存在结构的过程的某些部分是限制性的作用。因此,结构设计要充分考虑这些因素对过程的影响。 5.3.2基本的机械结构设计标准 5。考虑装配制造工艺装配设计标准是一个重要的步骤,结构件的装配质量,成本直接影响。结构设计标准装配概述如下(1)整机装配单元合理划分应该分为几个单元可以单独装配(零件或部件)来实现并行和专门组装业务,缩短装配周期,并一步一步的技术,以方便检查和维修。 (2),这样没有安装部位正确 - 确保零件的准确定位。如图5.7与普通螺栓两种法兰连接。在参考示出的结构的图(一)非径向定位,不能保证同轴二孔装配时;图(b)将一个配合的定位基准,结构合理的圆柱形表面。 - 避免双重领带。图5.8 A部分和B部分(一)具有两个端面带,由于制造误差,A部分不能保证正确的位置。图5.8(二)结构合理。 - 防止装配错误。如图5.9所示有两个引脚轴承定位。在这两个相反的引脚图(a)的布置,等于螺栓的距离,它可以安装在组件180°旋转,从而导致孔中心线中心线轴线偏差增大。因此,如果两个定位销被安排在同一侧,或找到的两个螺栓断成不等图5.9 (2)使零件易于装配和拆卸的距离结构设计,装配应保证有足够的空间,如扳手空间;避免过长的匹配,以避免增加装配的难度,使配合表面的划痕,因为一些台阶轴设计;配件为便于拆卸,拆卸工具应该给地方的位置,如轴承拆卸。图5-10。 5.3.2基本的机械结构设计标准 6。考虑BR设计不仅要满足功能要求的产品的设计标准,还要考虑产品的外形的美学价值,使人们产生吸引力。从心理学的角度来看,60%的人的决定取决于第一印象。社会属性的技术产品是一种商品,在买方市场时代,产品设计外观来吸引客户是一个重要的设计要求;而造型美观,并允许操作者以减少产品的误用,由于所产生的能量的消耗。 设计包括三个方面:形状,颜色和表面处理。 考虑造型,应注意以下三个问题:(1)大小比例结构设计中应注意保持之间的比例的轮廓的各部分之间的协调统一的,大小应自觉运用“黄金分割法”确定的尺寸,使产品更美观的形状。 (2)勾勒出一个简单的统一机械产品的形状通常是各种基本几何形状(长方形,圆柱体,圆锥体等)一起组合。该设计应与适当的形状制成,视觉基本形状应该平衡,大致对称形状不完全对称的意义上易产生倾倒;最小化的形状和位置的变化,并避免杂乱;改进工艺(3)颜色,图案和点缀支持在机械产品油漆表面,除了防止腐蚀的功能,同时也提升了视觉效果。允许操作员的适当的颜色眼睛疲劳降低,并提高识别的信息显示装置的功能。 只使用小部件单色。特别是大型的运动部件,如果只用一种颜色会显得单调水平,一点点额外的颜色会使整个基调活着。在共存的多种颜色的情况下,应该在背景中的主导作用,并相应称为对比色的背景色。但是,在产品,不同颜色不是人数太多,太多的颜色会给人一种华而不实的感觉。 舒服位于该地区的约颜色黄色,绿色,黄色至棕色。这种趋势是越来越暖,正黄绿色往往显得不舒服;激烈的灰色调显得沮丧。暖冷的环境中,如黄色,橙色和红色。对于冷色调,如淡蓝色的散热环境。所有的颜色应该褪色。此外,通过一定的颜色方案可以使产品看起来是安全的。 ?在形状上的小变化,较大的光的平面构成,并且所述有源元件的运动的区域被布置暗轮廓;暗机应放置在下部,放置在顶部的光。 5.4机械设计工作步骤在各种情况下不同类型的机械设计之间的巨大差异,也没有必要通过某种方式一步一步的一步。通常,以确定完成的形状,大小和组件所需的功能的布局。是结构设计过程的全面分析,绘图,计算相结合的三个过程,该过程如下所示:。 1主次排序,平衡:一个清晰的结构进行设计,以限制的主要任务,并实现其功能的目的是分解成几个功能。以及从机器中实现的主要功能(在一台机器来实现能量或物料的转化发挥的基本功能的关键作用)的起始组分,通常开始用函数的开始,实现了表面结构,考虑到相互的其他部分,该连接关系,位置和其它表面逐渐连接在一起成为一个部分,则该部分并连接成份其它部分,最终组合成一个实现本机的主要功能。然后,再确定的主要部件,如次要的,互补的或支承部件:密封件,润滑和维护等。 草图2:在分析,以确定结构,而根据通过绘制草图一定比例的该结构的主要结构部件的尺寸的粗略估计,最初部分。图中示出了各部分的基本形状应限制在主运动部件,空间限制,安装尺寸的位置的大小。在相同的结构设计应用程序以充分注意标准件,常用件和常用件,以降低设计和制造的工作量。 3的结构进行初步综合分析,确定该方案的最终结构:一个全面的过程,以确定的方式实现的各种替代结构的所有的功函数的目的。分析过程的评价,比较,最终确定的工作结构。通过改变面,位置,数量和部件的材料,其表面性能,接头的大小时,系统产生一个新的程序。此外,思维的特点进行全面分析更直观的方式,即不进行有系统的方式。人的感觉和直觉是不是没有原因的,多年的生活经验,积累了生产不知不觉产生各种判断,感觉和直觉的设计发挥更大的作用。 。 4和改进:结构承重部件进行了分析,计算出轴承的强度,刚度,耐磨性等,如果需要的话。并通过改进结构,使结构更加合理承受的负荷承载能力和工作,以提高准确性。以拆零件,材料,加工要求,结构上的改进。在实际的设计中,设计师的想象力来处理模拟的设计和内容,从多种角度的头脑考虑的问题,想象可能发生的问题,深度品质结构设计和广度的错觉起着非常重要的影响。 5完美的结构设计:根据技术,经济和社会指标继续改善,寻找所选程序的缺陷和弱点,控制各种要求和限制,反复改进。考虑零部件通用化,标准化,降低各种零部件,降低了生产成本。需要注意的是草图标准和外购件的结构。重视安全和劳动(即劳动条件:操作,观察,调整是否很方便,很容易在发生故障时进行故障排除和噪声),以改善结构。 6的形状和美丽的平衡:考虑对象是否直观匀称,美观。浪费材料或机构时,外观不均匀。失去平衡惯性力,干扰小,可能会迫使不稳定,抗疲劳应力集中和性能也较弱。 总之,从里到外的设计过程中的机械结构,从重要到次要,从地方到一般,从粗到细,权衡利弊,反复检查,逐步改进。 摘要机械设计在机械设计方面具有重要作用。本章讨论了机械结构设计特点,程序和思维方式。机的工作原理和组件的设计要求是一个主要的因素确定部件的结构和形状,随后对材料的选择,制造工艺要求,因此,它具有良好的处理(加工,装配)。此外,为了改善结构,并具有在各部分的形状,以提高强度和刚度的影响很大。
三、如何提高设计质量
勘察设计是工程的灵魂,质量的龙头,只有具备优秀的设计,才能创建优质的工程。因此,勘察设计质量的优劣直接关系到工程建设质量的高低。在初步设计阶段,影响项目投资的可能性为75%-95%,因为初步设计阶段,建筑物的结构形式、外观设计、平面布置及装修标准应全部确定,这些在建筑工程中占工程总造价的75%-95%;在技术设计阶段,只是对工程设计的合理性、可行性进行确定,而这一部分对工程造价的影响只占工程总造价的35%-75%;在施工图设计阶段,影晌项目投资的可能性为5%-35%。资料分析表明,设计费一般只相当于建设工程全寿命费用的1%以下,但正是这小于1%的费用,对工程造价的影响度占75%。很显然,项目投资控制的关键在于设计阶段。要有效地控制工程造价,就要坚决把重点放在设计阶段,未雨绸缪,以取得事半功倍的效果。首先要建立以专家系统为核心的设计咨询保障制度。甲方在工程开始阶段对发展趋势不了解,建成后往往在使用功能和内部设施方面感到滞后,留下不少遗憾,因此设计单位在工程前期应多介绍一些超前的设计思想。提高设计质量的关键是优化设计方案。如何优化设计方案呢?开展设计咨询是一个有效方法。设计咨询就是业主自愿有偿地聘请权威专家或权威设计机构,对业主关心的效益问题、方案的伪劣、工艺技术的先进性、合理性等进行评估和优化,从而确定最优设计方案,提高投资效益。二是要强化施工图的设计审查。设计是工程建设的龙头,抓好设计审查对保证结构安全,节约投资将起到重要作用。建议有关管理部门,结合往年工程出现的问题,制定各专业的施工图设计审查注意事项及实施细则。以减少、消除施工图设计阶段可能出现的各种问题,提高图纸审查的通过率。 三是要加强设计人员的技术培训。我国幅员辽阔,设计院面临的又是要求复杂的各类建筑项目,在技术上存在不少困难。针对地区情况制定一些通用的标准设计或技术规程规定,对保证设计质量将起到良好作用。建议有关管理部门,参照《全国民用建筑工程设计技术措施》做法,针对工程设计的“通病”和最容易发生错误的技术环节提出正确的措施,制定各个专业统一的技术措施。这对提高设计质量、提高设计水平将发挥指导作用,对于提高民用建筑设计的创新能力也将起到促进作用。四是要加大科研力度。当前由于墙体材料的改革,量大面广的混合结构在设计施工方面存在许多新问题有待研究。高层建筑使用功能日益复杂,需要规范不断补充完善。此外,一些新的课题还需作超前研究。科研工作时间和人力投入大、周期长、见效慢,这需要设计院在政策上给予更多的关注和倾斜。此外,还应制定合理的设计周期。有的业主往往为了赶工期而压缩设计周期,人为造成了对设计质量的不良影响。设计人员在有限的时间里,为尽快交出施工图,就不得不放弃对某些方面的深入考虑,从而影响设计质量。建议有关管理部门,在制定设计周期时留给设计人员必要的方案论证时间。 作者:佚名
四、谁知道数据库优化设计方案有哪些?
本文首先讨论了基于第三范式的数据库表的基本设计,着重论述了建立主键和索引的策略和方案,然后从数据库表的扩展设计和库表对象的放置等角度概述了数据库管理系统的优化方案。
关键词: 优化(Optimizing) 第三范式(3NF) 冗余数据(Redundant Data) 索引(Index) 数据分割(Data Partitioning) 对象放置(Object Placement)
1 引言
数据库优化的目标无非是避免磁盘I/O瓶颈、减少CPU利用率和减少资源竞争。为了便于读者阅读和理解,笔者参阅了Sybase、Informix和Oracle等大型数据库系统参考资料,基于多年的工程实践经验,从基本表设计、扩展设计和数据库表对象放置等角度进行讨论,着重讨论了如何避免磁盘I/O瓶颈和减少资源竞争,相信读者会一目了然。
2 基于第三范式的基本表设计
在基于表驱动的信息管理系统(MIS)中,基本表的设计规范是第三范式(3NF)。第三范式的基本特征是非主键属性只依赖于主键属性。基于第三范式的数据库表设计具有很多优点:一是消除了冗余数据,节省了磁盘存储空间;二是有良好的数据完整性限制,即基于主外键的参照完整限制和基于主键的实体完整性限制,这使得数据容易维护,也容易移植和更新;三是数据的可逆性好,在做连接(Join)查询或者合并表时不遗漏、也不重复;四是因消除了冗余数据(冗余列),在查询(Select)时每个数据页存的数据行就多,这样就有效地减少了逻辑I/O,每个Cash存的页面就多,也减少物理I/O;五是对大多数事务(Transaction)而言,运行性能好;六是物理设计(Physical Design)的机动性较大,能满足日益增长的用户需求。
在基本表设计中,表的主键、外键、索引设计占有非常重要的地位,但系统设计人员往往只注重于满足用户要求,而没有从系统优化的高度来认识和重视它们。实际上,它们与系统的运行性能密切相关。现在从系统数据库优化角度讨论这些基本概念及其重要意义:
(1)主键(Primary Key):主键被用于复杂的SQL语句时,频繁地在数据访问中被用到。一个表只有一个主键。主键应该有固定值(不能为Null或缺省值,要有相对稳定性),不含代码信息,易访问。把常用(众所周知)的列作为主键才有意义。短主键最佳(小于25bytes),主键的长短影响索引的大小,索引的大小影响索引页的大小,从而影响磁盘I/O。主键分为自然主键和人为主键。自然主键由实体的属性构成,自然主键可以是复合性的,在形成复合主键时,主键列不能太多,复合主键使得Join*作复杂化、也增加了外键表的大小。人为主键是,在没有合适的自然属性键、或自然属性复杂或灵敏度高时,人为形成的。人为主键一般是整型值(满足最小化要求),没有实际意义,也略微增加了表的大小;但减少了把它作为外键的表的大小。
(2)外键(Foreign Key):外键的作用是建立关系型数据库中表之间的关系(参照完整性),主键只能从独立的实体迁移到非独立的实体,成为后者的一个属性,被称为外键。
(3)索引(Index):利用索引优化系统性能是显而易见的,对所有常用于查询中的Where子句的列和所有用于排序的列创建索引,可以避免整表扫描或访问,在不改变表的物理结构的情况下,直接访问特定的数据列,这样减少数据存取时间;利用索引可以优化或排除耗时的分类*作;把数据分散到不同的页面上,就分散了插入的数据;主键自动建立了唯一索引,因此唯一索引也能确保数据的唯一性(即实体完整性);索引码越小,定位就越直接;新建的索引效能最好,因此定期更新索引非常必要。索引也有代价:有空间开销,建立它也要花费时间,在进行Insert、Delete和Update*作时,也有维护代价。索引有两种:聚族索引和非聚族索引。一个表只能有一个聚族索引,可有多个非聚族索引。使用聚族索引查询数据要比使用非聚族索引快。在建索引前,应利用数据库系统函数估算索引的大小。
① 聚族索引(Clustered Index):聚族索引的数据页按物理有序储存,占用空间小。选择策略是,被用于Where子句的列:包括范围查询、模糊查询或高度重复的列(连续磁盘扫描);被用于连接Join*作的列;被用于Order by和Group by子句的列。聚族索引不利于插入*作,另外没有必要用主键建聚族索引。
② 非聚族索引(Nonclustered Index):与聚族索引相比,占用空间大,而且效率低。选择策略是,被用于Where子句的列:包括范围查询、模糊查询(在没有聚族索引时)、主键或外键列、点(指针类)或小范围(返回的结果域小于整表数据的20%)查询;被用于连接Join*作的列、主键列(范围查询);被用于Order by和Group by子句的列;需要被覆盖的列。对只读表建多个非聚族索引有利。索引也有其弊端,一是创建索引要耗费时间,二是索引要占有大量磁盘空间,三是增加了维护代价(在修改带索引的数据列时索引会减缓修改速度)。那么,在哪种情况下不建索引呢?对于小表(数据小于5页)、小到中表(不直接访问单行数据或结果集不用排序)、单值域(返回值密集)、索引列值太长(大于20bitys)、容易变化的列、高度重复的列、Null值列,对没有被用于Where子语句和Join查询的列都不能建索引。另外,对主要用于数据录入的,尽可能少建索引。当然,也要防止建立无效索引,当Where语句中多于5个条件时,维护索引的开销大于索引的效益,这时,建立临时表存储有关数据更有效。
批量导入数据时的注意事项:在实际应用中,大批量的计算(如电信话单计费)用C语言程序做,这种基于主外键关系数据计算而得的批量数据(文本文件),可利用系统的自身功能函数(如Sybase的BCP命令)快速批量导入,在导入数据库表时,可先删除相应库表的索引,这有利于加快导入速度,减少导入时间。在导入后再重建索引以便优化查询。
(4)锁:锁是并行处理的重要机制,能保持数据并发的一致性,即按事务进行处理;系统利用锁,保证数据完整性。因此,我们避免不了死锁,但在设计时可以充分考虑如何避免长事务,减少排它锁时间,减少在事务中与用户的交互,杜绝让用户控制事务的长短;要避免批量数据同时执行,尤其是耗时并用到相同的数据表。锁的征用:一个表同时只能有一个排它锁,一个用户用时,其它用户在等待。若用户数增加,则Server的性能下降,出现“假死”现象。如何避免死锁呢?从页级锁到行级锁,减少了锁征用;给小表增加无效记录,从页级锁到行级锁没有影响,若在同一页内竞争有影响,可选择合适的聚族索引把数据分配到不同的页面;创建冗余表;保持事务简短;同一批处理应该没有网络交互。
(5)查询优化规则:在访问数据库表的数据(Access Data)时,要尽可能避免排序(Sort)、连接(Join)和相关子查询*作。经验告诉我们,在优化查询时,必须做到:
① 尽可能少的行;
② 避免排序或为尽可能少的行排序,若要做大量数据排序,最好将相关数据放在临时表中*作;用简单的键(列)排序,如整型或短字符串排序;
③ 避免表内的相关子查询;
④ 避免在Where子句中使用复杂的表达式或非起始的子字符串、用长字符串连接;
⑤ 在Where子句中多使用“与”(And)连接,少使用“或”(Or)连接;
⑥ 利用临时数据库。在查询多表、有多个连接、查询复杂、数据要过滤时,可以建临时表(索引)以减少I/O。但缺点是增加了空间开销。
除非每个列都有索引支持,否则在有连接的查询时分别找出两个动态索引,放在工作表中重新排序。
3 基本表扩展设计
基于第三范式设计的库表虽然有其优越性(见本文第一部分),然而在实际应用中有时不利于系统运行性能的优化:如需要部分数据时而要扫描整表,许多过程同时竞争同一数据,反复用相同行计算相同的结果,过程从多表获取数据时引发大量的连接*作,当数据来源于多表时的连接*作;这都消耗了磁盘I/O和CPU时间。
尤其在遇到下列情形时,我们要对基本表进行扩展设计:许多过程要频繁访问一个表、子集数据访问、重复计算和冗余数据,有时用户要求一些过程优先或低的响应时间。
如何避免这些不利因素呢?根据访问的频繁程度对相关表进行分割处理、存储冗余数据、存储衍生列、合并相关表处理,这些都是克服这些不利因素和优化系统运行的有效途径。
3.1 分割表或储存冗余数据
分割表分为水平分割表和垂直分割表两种。分割表增加了维护数据完整性的代价。
水平分割表:一种是当多个过程频繁访问数据表的不同行时,水平分割表,并消除新表中的冗余数据列;若个别过程要访问整个数据,则要用连接*作,这也无妨分割表;典型案例是电信话单按月分割存放。另一种是当主要过程要重复访问部分行时,最好将被重复访问的这些行单独形成子集表(冗余储存),这在不考虑磁盘空间开销时显得十分重要;但在分割表以后,增加了维护难度,要用触发器立即更新、或存储过程或应用代码批量更新,这也会增加额外的磁盘I/O开销。
垂直分割表(不破坏第三范式),一种是当多个过程频繁访问表的不同列时,可将表垂直分成几个表,减少磁盘I/O(每行的数据列少,每页存的数据行就多,相应占用的页就少),更新时不必考虑锁,没有冗余数据。缺点是要在插入或删除数据时要考虑数据的完整性,用存储过程维护。另一种是当主要过程反复访问部分列时,最好将这部分被频繁访问的列数据单独存为一个子集表(冗余储存),这在不考虑磁盘空间开销时显得十分重要;但这增加了重叠列的维护难度,要用触发器立即更新、或存储过程或应用代码批量更新,这也会增加额外的磁盘I/O开销。垂直分割表可以达到最大化利用Cache的目的。
总之,为主要过程分割表的方法适用于:各个过程需要表的不联结的子集,各个过程需要表的子集,访问频率高的主要过程不需要整表。在主要的、频繁访问的主表需要表的子集而其它主要频繁访问的过程需要整表时则产生冗余子集表。
注意,在分割表以后,要考虑重新建立索引。
3.2 存储衍生数据
对一些要做大量重复性计算的过程而言,若重复计算过程得到的结果相同(源列数据稳定,因此计算结果也不变),或计算牵扯多行数据需额外的磁盘I/O开销,或计算复杂需要大量的CPU时间,就考虑存储计算结果(冗余储存)。现予以分类说明:
若在一行内重复计算,就在表内增加列存储结果。但若参与计算的列被更新时,必须要用触发器更新这个新列。
若对表按类进行重复计算,就增加新表(一般而言,存放类和结果两列就可以了)存储相关结果。但若参与计算的列被更新时,就必须要用触发器立即更新、或存储过程或应用代码批量更新这个新表。
若对多行进行重复性计算(如排名次),就在表内增加列存储结果。但若参与计算的列被更新时,必须要用触发器或存储过程更新这个新列。
总之,存储冗余数据有利于加快访问速度;但违反了第三范式,这会增加维护数据完整性的代价,必须用触发器立即更新、或存储过程或应用代码批量更新,以维护数据的完整性。
3.3 消除昂贵结合
对于频繁同时访问多表的一些主要过程,考虑在主表内存储冗余数据,即存储冗余列或衍生列(它不依赖于主键),但破坏了第三范式,也增加了维护难度。在源表的相关列发生变化时,必须要用触发器或存储过程更新这个冗余列。当主要过程总同时访问两个表时可以合并表,这样可以减少磁盘I/O*作,但破坏了第三范式,也增加了维护难度。对父子表和1:1关系表合并方法不同:合并父子表后,产生冗余表;合并1:1关系表后,在表内产生冗余数据。
4 数据库对象的放置策略
数据库对象的放置策略是均匀地把数据分布在系统的磁盘中,平衡I/O访问,避免I/O瓶颈。
⑴ 访问分散到不同的磁盘,即使用户数据尽可能跨越多个设备,多个I/O运转,避免I/O竞争,克服访问瓶颈;分别放置随机访问和连续访问数据。
⑵ 分离系统数据库I/O和应用数据库I/O。把系统审计表和临时库表放在不忙的磁盘上。
⑶ 把事务日志放在单独的磁盘上,减少磁盘I/O开销,这还有利于在障碍后恢复,提高了系统的安全性。
⑷ 把频繁访问的“活性”表放在不同的磁盘上;把频繁用的表、频繁做Join*作的表分别放在单独的磁盘上,甚至把把频繁访问的表的字段放在不同的磁盘上,把访问分散到不同的磁盘上,避免I/O争夺;
⑸ 利用段分离频繁访问的表及其索引(非聚族的)、分离文本和图像数据。段的目的是平衡I/O,避免瓶颈,增加吞吐量,实现并行扫描,提高并发度,最大化磁盘的吞吐量。利用逻辑段功能,分别放置“活性”表及其非聚族索引以平衡I/O。当然最好利用系统的默认段。另外,利用段可以使备份和恢复数据更加灵活,使系统授权更加灵活。
以上就是关于如何优化设计方案相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。
推荐阅读: