版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、浅议数据库对电信计费优化和应用摘要:随着数据库应用系统中数据的增加,系统 的响应速度成为系统设计中需要解决的主要问题。由于用户 对数据库的要求越来越高,因此必须对数据库进行优化。系 统优化的一个很重要的方面就是sql语句本身的优化,文章 从应用的角度论述了 sql语句优化的一些方法。关键词:数据库优化sql oracle中图分类号:tp3文献标识码:a文章编号:1672-3791(2012) 12 (b) -0031-01在信息化告诉发展的今天,数据库的竞争和更新技术日 新月异,部署有erp、crm等关键应用的企业中,数据库是 不可或缺的组成部分。本文结合orac数据库,并通过多年 的工作经验
2、,谈谈sql的一些优化方法在计费帐务核查中应 用。1 sql的一些优化方法在计费帐务稽核中的应用在目前的帐务稽核中,所有的检查都是通过编写sql语 句向数据库提交需求的,面对全省同时提交的数百个数据需 求,服务器接受的任务过多,往往会出现任务被吊起、长时 间不响应的现象,甚至影响了帐务结算工作。经过核查,造 成死锁的原因很大部分是因为提交的语句存在各种语法或 逻辑问题,易造成死锁,极大的浪费了系统资源。因此必须 对编写和提交的sql语句进行优化,减少系统资源被无效占 用和损耗,这是提高帐务结算及稽核效率,按期完成工作的 前提。1.1依据"共享池中重用sql语句”的原则,规定统一 的语
3、句语法oracle提供在数据库中存储代码的能力。当应用系统开 始运行时,从数据库中读取代码传递到共享池中去处理。从 数据库中取出的代码是编译过的并驻留在共享池中。当sql 语句被传递给oracle处理时,如果oracle接受了一个与共 享池中的语句相一致的语句,就重用共享池中的语句。两条 sql语句必须是语法、文本完全相同,才能视为可共享的sql, 利用oracle的共享区。帐务稽核工作是由全省各地本地网的人员同时参与,人 员较多且语句的编写思路均存在差异,但最终的需求是一致 的,依据共享原则,由区公司帐务处理部门按照稽核要求和 内容,规定稽核点和稽核方法,下发经过整理的具有标准格 式、大小写
4、以及相同变量等遵循约定的稽核语句和过程,从 而可以最大限度的重用共享池中的sql语句。1. 2对索引的有效利用在oracel的执行规则中,如果目标表无索引、语句中 无条件限定、条件指定为null或者是不相等、或将条件在 表达式里使用以及使用like操作以及值以''开始等等,系统会进行全表扫描,效率低下,因此在语句的编写中应避 免上述情况,尽量采用能够使用索引的条件,对于必须使用 到的列在使用前务必建立相应的索引。最基本的客户、账户、用户三级关系,在查询或其他应 用中均会用到这三列,系统内的表在这三列上均建有索引, 因此在进行帐务稽核或者后期的数据提取中,应对涉及到此 字段的临时
5、表建立相同的单列索引,在有索引的列上进行条 件限定,如下实例:(1)及时建立索引:create table tmp_alt_check_1009 as select*from tmp_alt_check_1009_dsbunion allselect*fromcreatetmp_alt_check_1009_yhz;indextmp_alt_check_1009_servontmp_alt_check_1009 (servid);createindextmp_alt_check_l009_custontmp_a1t_check_1009 (cust_id);createindextmp alt
6、 check 1009 acctontmp_alt_check_l009 (acct_id);上述应用中对新建表tmp_alt_check_1009分别建立了 serv_id, acct_id, cust_id的单列索引,以便在其后的使 用中提高搜索效率。(2)条件限定时避免使用like操作或者限定值以“, 开始,不使用null或者是不相等。女口: 将 select*from product offer_t where region_id like '1020%';替换为:select*from product_offer_t where region_id=, 1020
7、9;;将 select*from product_offer_twhereprici ng_pla_idis not null orpricing_pla_ido;替换为:select*fromproduct_offer_twherepricing_pla_id>0;通过以上细节的注意和替换,可避免系统对全表进行扫 描,有效利用索引,提高系统响应效率。1.3使用选择性好的索引索引的选择性是指索引列里不同值的数目与表中记录 数的比。最好的可能性选择是1.0,即表内索引列上无重复 记录。在做帐务稽核中,常常会基于某种条件和需求建立一些 临时表,并为临时表建立索引,在临时表的建立和使用中, 应
8、判断建立索引的字段的选择性和有效性的好坏,避免低效 率的操作和资源的浪费。1. 4根据实际情况区别使用union all和union操作最常用的集操作是union和union all操作,union操 作使多个记录集联结成为单个集,返回记录的单个集并且没 有重复的行,进行表链接后会对所产生的结果集进行排序运 算,删除重复的记录再返回结果。union all是一个行操作, 操作允许重复,不要求sort unique操作,从而节省了开销。 当union all操作产生巨大的结果集时,不需要任何排序便 返回记录给应用,检索的响应时间更快,对临时空间的要求 也更低。在稽核过程中,需要根据需求确定是否需
9、要滤重,尽量 避免不需滤重的情况下而用union操作,如果作为结果子集 时,更应该避免使用union操作,浪费排序的时间和空间资 源。稽核中最常见的需求是对营业区或着支局或某个帐目、 事件等产生的费用或话务量进行与历月的对比,以确定发生 的数据是否脱离了正常规律,结果是否正确。若采用union 会把重复记录滤除掉,结果是不符合需求的,且采用union all操作,系统的响应速度更快,最终根据需求确定此类稽 核都需要采用union all操作,来保留所有完整的数据记录。1.5将复杂的多子集连接操作转化为小的带索引的临时表在帐务稽核中,往往需要把符合条件的几部分数据汇 总,形成一个新的结果表,处理方式有两种:一种是用直接 union all操作把各个查询子集连接形成最终的结果表;另 一种是分别将各个子集建成新的小表,再将小表用union all 操作建成最终的结果表。第一种方法需要大量的临时空间作 为查询结果子集的临时存储空间,对系统资源的占用也较 大,经过实践验证,采用第二种方式往往能获得更快的响应 速度。2结语文章结合省电信公司的收费系统,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024新能源公交车运营协议
- 2024年离婚协议书反悔案例分析
- 2024年物流装卸服务协议
- 不锈钢栏杆包工料合同范本
- 中国劳动关系学院《老年健康照护和促进》2023-2024学年第一学期期末试卷
- 专业化喷泉维修服务协议模板下载版B版
- 2024年财务战略咨询合作合同版B版
- 乙炔知识培训课件
- 酒店行业保安工作总结
- 汽车行业促销策略总结
- 2024年突发事件新闻发布与舆论引导合同
- 2025年中考语文复习之现代文阅读:非连续性文本阅读(10题)
- GB/T 9755-2024合成树脂乳液墙面涂料
- 商业咨询报告范文模板
- 2024年度软件定制开发合同(ERP系统)3篇
- 家族族谱模板
- 家谱修编倡议书范文
- 老干工作业务培训
- 2024年山东省高中自主招生数学模拟试卷试题(含答案)
- (正式版)JBT 10437-2024 电线电缆用可交联聚乙烯绝缘料
- 教科版三年级上册科学期末测试卷(二)【含答案】
评论
0/150
提交评论