没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|其它|编辑:郝浩|2009-04-29 11:37:24.000|阅读 431 次
概述:通常情况下,索引可以提高数据库的性能。如通过索引,则Select、Update、、Delete语句的Where子句的性能可以从索引中获得收益。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
通常情况下,索引可以提高数据库的性能。如通过索引,则Select、Update、、Delete语句的Where子句的性能可以从索引中获得收益。但是这并不是百分之百准确的。或者说,只有这些语句涉及到的行比较少的时候,这个原则是准确的。但是如果所涉及到的行比较多,则这个索引的应用反而会降低数据库的性能。
如现在数据库系统中有一张表,其中包含了300万条记录。而用户现在需要利用Delete语句删除其中100万条记录。如想要把记录创建日期为2005年12月31日前的数据全部删除掉。此时虽然采用了Where子句的限制条件,但是这个时候因为删除的数据量太多,其并不能够从索引中获取什么好处。因为利用delete语句删除记录的时候,同时需要删除相关的索引。当Delete语句需要删除将近表中一半的记录的时候,同时需要删除跟这个表相关的近一半的索引,这个过程是非常耗时的。为此大量行的Delete操作会因为表中存在索引而降低其执行速度。另外Insert语句也会有类似的现象。通常情况下,增加索引会降低Insert语句的执行新能。因为在执行insert语句的时候,由于索引的存在,数据库需要同时往数据表与索引表中插入数据。为此,从理论上来说,数据库表中的每个索引都回使得对这个表进行Insert操作时速度减慢两倍;而在这个数据表上使用两条索引则会使得插入速度减慢一倍。
可见并不是所有语句或者操作都能够从索引中获得收益。为此数据库管理员必须要了解索引跟一些常用命令之间的冲突。只有如此数据库管理员才能够在索引给某些操作带来的收益与损失之间取得一个均衡,并根据相关的操作来调整索引。对于这一点笔者有如下几个建议,大家可以参考一下。
一是当需要网一个表中插入大量数据的时候,最好能够先把索引取消,以提高插入的速度。如现在数据库管理员需要往表Product中添加记录的话,无论其采用什么方式,如采用Select into语句,还是采用图形化的导入工具都好。当需要插入的记录比较多的时候,最好先把索引禁用掉。此时数据库只需要在数据表中插入数据即可,而不用维护索引表。等到数据导入完成之后,再起用这个索引。此时数据库会重建这些记录的索引。这是大部分数据库管理员在数据插入的过程中常用的手段。可以明显提高数据库的插入性能。
二是当因为某些原因需要清空数据库表中的记录时,如果这张数据表中的记录比较多时,则可以考虑一下先把表中的索引取消掉,然后再执行删除操作。如此的话数据库系统在删除数据的时候,就不用同时维护数据表与索引表了。故可以成倍提高Delete的操作效率。等到删除操作执行完毕后,再启用索引。
当受影响的记录比较多时,上面这两个建议可以明显的提高数据库的执行性能。特别是在应用系统初始化的过程中,可能需要导入大量的初始化记录。有时候可能发现数据导入有错误需要整张表清空等等。此时如果先把索引禁用掉的话,则数据库管理员会发现,期初数据导入会变得顺利许多。
在这里需要说明的是,以上的这几个笔者的建议并不时Oracle数据库系统强制性的要求。即使不采用这些建议,数据库最终也可以完成相关的任务。只是其速度上可能会有差异。而且随着记录的不同,这个差异有时候可能会相差几十个小时。总之笔者认为作为一个优秀的数据库管理员,应该了解索引在不同情况下对数据库系统的影响。大丈夫能屈能伸。在必要的情况下,数据库管理员要敢于取消索引,以提高某些操作的性能。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
文章转载自:IT专家网面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号