利用SQL语句提取网络优化所需数据
更新时间:2024-01-09 15:56:01 阅读量: 教育文库 文档下载
- sql语句提取数据推荐度:
- 相关推荐
利用SQL语句提取网络优化所需数据 (南阳分公司网络部 陈飞)
从事网络优化的同行可能深有体会,在实际网络优化工作中,网优工具的运用对于网络运行数据的提取和分析甚至提出问题的解决方案都起着非常重要的作用。在网络优化工具中,最基本的工具就是直接利用网管提供的SQL plus界面,自己编写SQL语句,提取网络优化中所需的各种数据。下面笔者就编写SQL语句的心得体会,介绍如何利用SQL语句提取网络优化所需的数据。
要自己编写SQL语句,必须首先了解好网管中的表、所需数据的计算公式和SQL plus语法。
BSC、MSC、HLR、配臵、告警等的测量报告在网管中都是以表的格式存储的,每张表都有自己的名字,表的内容包含列名和对应的数据,我们就是要从这些表中通过不同的公式组合来取出我们需要的数据,值得注意的是,由于网管的容量有限,网管中只保存最近一周的数据,我们也只能从网管中提取最近一周的数据。
网管中表的命名具有一定的规律性,比如表p_nbsc_load,p表示该表是记录网络性能数据的,nbsc表示该表是关于bsc的测量数据,load表示该表是关于负荷的数据,从表的名字我们可以看出,此表是关于bsc的负荷性能的测量报告。常用的表可以归结为4类,分别是性能表、配臵表、故障表和网络元素表。
上面的例子就是一张性能表,这些均以p开头,下划杠后面紧跟着网络元素对象,常见的有nbsc、msc、hlr等,紧跟着下一个下划杠
后面是性能类别,比如话务量、负荷、资源可用性等。性能表的例子如下:
p_nbsc_traffic p_nbsc_load p_nbsc_ho p_msc_vlr_la p_msc_vlr_subsc p_msc_ho p_hlr_load p_hlr_subs_vlr
配臵表的表名以c开头,主要记录网络当前的参数配臵情况,比如c_bsc,c_bts,c_handover_control, c_power_control, c_adjacent_cell, c_trx等,分别记录BSC、BTS、HO、PC、ADJ、TRX的参数配臵情况,注意由于网管有时候更新不及时,在提取这些参数时,需要先在网管上做UPLOAD,以便配臵参数与现网保持一致。
故障表以f开头,主要记录有关网络的告警,比如f_cause、f_waf_lock等分别记录网络的不同告警。
网络元素表主要有objects,主要记录网络的各个元素,包括HLR、MSC、BSC、BCF、BTS等。
对于我们编写SQL语句来说,弄清表的列名和数据类型是非常关键的。表的列名和数据类型可以利用Reflection软件的在线字典功能查看。下面是表p_nbsc_load的列名及数据类型。
对于BSS的测量报告,表的列名及描述可以参考下面文件:
对于表的内容,还以p_nbsc_load为例,内容如下:
在了解清楚表的数据格式和内容后,就需要了解所需的计算公式,计算公式可以从省公司下发的考核指标定义中获取,其他也有一些NOKIA公司定义的公式。下面的文件是关于BSC测量的一些计算公式,供参考。
SQL plus的学习可以参考相关的书籍,书市上有很多关于SQL的书籍,联系到网管的实际应用,建议选择专门的SQL plus的书籍查看,这样可以更好的了解在网管环境下SQL关键字的作用。 常用的SQL语句的格式如下:
select *** from *** where *** having *** group by *** order by *** select后面跟的是所需要提取的数据,可以有多列,彼此之间用逗号隔开;from后面跟的是数据的来源,很多时候,所取的数据来源于多个表,就需要把所用到的表依次罗列,彼此用逗号隔开;having后面跟的是提取数据的条件;group by后面跟的是所取的数据以什么样的条件分组;order by后面跟的是所取的的数据以什么样的顺序排序。
除了上面的关键字外,常用到的关键字还有:desc、decode、substr、to_char、sum、avg、max、min等,分别对应不同的作用。
1: to char 是把日期或数字转换为字符串
to date 是把字符串转换为数据库中得日期类型 转换函数? TO_CHAR?
使用TO_CHAR函数处理数字 TO_CHAR(number, '格式') TO_CHAR(salary,’$99,999.99’); 使用TO_CHAR函数处理日期 TO_CHAR(date,’格式’); TO_NUMBER?
使用TO_NUMBER函数将字符转换为数字 TO_NUMBER(char[, '格式']) TO_DATE?
使用TO_DATE函数将字符转换为日期 TO_DATE(char[, '格式'])
数字格式格式?
9 代表一个数字 0 强制显示0 $ 放置一个$符
L 放置一个浮动本地货币符 . 显示小数点 , 显示千位指示符
? 日期格式 格式控制 描述
YYYY、YYY、YY 分别代表4位、3位、2位的数字年 YEAR 年的拼写 MM 数字月 MONTH 月的全拼 MON 月的缩写 DD 数字日 DAY 星期的全拼 DY 星期的缩写 AM 表示上午或者下午
HH24、HH12 12小时制或24小时制 MI 分钟 SS 秒钟 SP 数字的拼写 TH 数字的序数词 “特殊字符” 假如特殊字符 HH24:MI:SS AM 15:43:20 PM DD “OF” MONTH 12 OF OCTOBER DDSPTH fourteenth Date的格式 ’18-5月-84’
2: DESC 是descend 降序意思
asc 是ascend 升序的意思
3:
SQL指令— SUBSTR
SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分。这个函数的名称在不同的资料库中不完全一样: MySQL: SUBSTR(), SUBSTRING() ? Oracle: SUBSTR()
? SQL Server: SUBSTRING()
?
最常用到的方式如下 (在这里我们用SUBSTR()为例):
SUBSTR(str,pos): 由
SUBSTR(str,pos,len): 由
假设我们有以下的表格:
Geography 表格
region_name store_name East East West West 例1:
SELECT SUBSTR(store_name, 3) FROM Geography
WHERE store_name = 'Los Angeles';
Boston New York Los Angeles San Diego 结果: 's Angeles' 例2:
SELECT SUBSTR(store_name,2,4) FROM Geography
WHERE store_name = 'San Diego';
结果: 'an D'
下面以例子来说明SQL语句的编写。 例一:提取LAC区每天的最大用户数。
在以往的常见网优工具中,很少有网优工具能够直接提取LAC
的用户数,然而这一数据在做LAC区规划时是非常重要的。从相关的网管表和公式中可以了解到表p_msc_vlr_la中的 ave_subsc_in_la列中的数据就是每小时的LAC的用户数,从一天24小时的每个LAC的用户数中取最大值,就为每个LAC区的最大用户数。 表p_msc_vlr_la的内容如下:
表p_msc_vlr_la中的int_id为LAC所属的MSC在网管中的int_id号。
所编写的SQL语句如下:
select语句中的to_char的作用是将网管中的日期/时间格式进行转化,转化后做为取LAC区用户数最大值的分组条件;to_char(t.period_start_time, 'yyyymmdd') date1中的date1做为所取数据to_char(t.period_start_time, 'yyyymmdd')的列名,两者之间用空格隔开,后面的其它列名和表名也是同样的道理;substr(o.name,1,6) msc是提取MSC的名称;t.loc_area lac是提取LAC区的代号;max(t.ave_subsc_in_la)是提取每个LAC区的最大用户数。
From语句中除了p_msc_vlr_la表外,又使用了表objects,主要是因为表p_msc_vlr_la中只有MSC的网管int_id号,没有MSC的名字,这样不便于辨别MSC,而表objects中同时有MSC的名字和MSC在网管中的int_id号,这样就可以利用int_id号的对应来提取MSC的名字。
Where语句中不同的条件之间用and隔开,o.int_id = t.int_id是将两个表的MSC的int_id相对应,以便提取MSC名字,substr(o.name,1,5)='NYMSC'限定只提取南阳的数据;t.loc_area<>0限
定只提取在现网中运行的LAC,t.period_start_time >= to_date('&&start_time','yyyymmddhh24')限定提取数据的开始时间, t.period_start_time <= to_date('&&end_time','yyyymmddhh24') 限定提取数据的结束时间。
Group by决定提取数据的结果如何分组;order by决定提取的结果显示时如何排序。 提取的结果如下:
例二:提取LAC区每天的最大话务量。
同LAC区的用户数一样,LAC区每天的最大话务量也是做LAC规划是需要参考的重要数据。
编写的SQL语句如下:
上面语句的编写思路是首先提取每个LAC的24小时的话务量,然后再从中提取24小时中的最大话务量。
SQL语句允许重复套用,即可以中第一次提取的结果中再次提取数据。
提取的结果如下:
例三:提取小区每天的最大话务量。
小区的每天的最大话务量做为小区容量规划和优化的重要原始数据,在日常优化中起着重要的作用。 SQL语句如下:
提取结果如下:
注意:此语句的好处是根据输入时间的不同,可以连续提取多日的小区的最大话务量,这为日常优化节省了很多时间。
在SQL语句编写好以后,利用FTP软件上传到自己的目录下,以后就可以直接提取了。 上传的格式如下:
总之,利用自己编写的SQL语句提取一些日常优化中所需要的数据,大大的提高了工作效率。
下面附上所编的SQL语句,供参考。
正在阅读:
利用SQL语句提取网络优化所需数据01-09
爱爱医资源-儿科常用图表05-07
论社会工作理论研究范式及其发展趋势03-10
2016-2022年中国咖啡连锁行业分析及发展前景评估报告(目录)09-14
新概念英语第二册课文讲解 L 8403-12
教师期末工作个人总结三篇03-17
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 语句
- 提取
- 优化
- 利用
- 数据
- 网络
- SQL
- 手持全景拍摄-拼接-全景漫游制作教程实例 - 图文
- 洛伦兹力作用下物体运动题型分类精选- 副本
- 生产运作管理判断题和选择题答案(DOC)
- 中国人居环境文化的论文
- 网上商城运营方案
- 历史学考博简论述汇总
- 检验技师资格考试模拟题2
- 《依法维护自己的合法权益》教案
- 证券公司直投业务规范修改稿及起草说明
- 2017-2022年中国自动升降机行业运营态势与投资前景预测分析报告 - 图文
- 莆田市八二一街南伸至火车站道路及地下综合管廊建设工程
- 国际结算:一、概述
- 2DMove软件-简介
- 材料科学与工程专业培养方案(10.12.30自胡廉民 定稿)
- 苏教版二年级数学上册《第一单元 100以内的加法和减法(三)》单元教案
- 马克吐温的写作风格 以《哈克贝利弗恩历险记》为例
- 导数的应用--单调性-知识讲解 -
- 数据库原理大习题集及答案
- 金融帝国2攻略高手模式 - 图文
- 超声无损检测技术的现状和发展趋势