文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | firefox | WPS | 杀毒软件 | Picasa
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形图像 办公软件 媒体动画 精文荟萃 常用软件 网页编程 技术开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络编程数据库降低CPU使用效率 将逻辑放置数据库以外处理
精品推荐
特别推荐
·学习SQL语句之SQL语句大全
·数据备份失败的五个原因及解决办法
·解决SQL Server常见的七个经典问题
·SQL存储过程的概念,创建,调用,管理,删除,优点
·带你轻松接触13个数据库术语
·如何恢复系统数据库如何恢复系统数据库?
·通过实例讲解由浅入深学会存储过程
·学会三个范式快速成为数据库设计的高手
·SQL数据库应聘人员面试时经常被问的问题
·问答:查询分析器不能单步调试的的原因
·数据库基础知识:SQL中的IIF语句详解
·WindowsXP+IIS+PHP5+MySQL5+Zend+GD库+phpMyAdmin+PHPWind 5.3 安装教程
·你知道吗?优化数据库前的十大问题
·自动备份注意事项让你远离误删数据噩梦
·关于MSSQL数据库日志满的快速解决办法
·SQL安全设置攻略
·SQL注入的不常见方法
·关于SQL语句的优化方式
·SQL优化34条
·查询及删除重复记录的方法
热点TOP10
·学习SQL语句之SQL语句大全
·玩转Windows桌面图标
·ADO连接数据库字符串大全
·精妙SQL语句收集
·ASP.NET中数据库的操作初步----DataSet操作数据库
·Apache+php+mysql安装与配置详解
·Transact-SQL语句总汇
·一个简单的酒店系统的数据库设计
·VB.NET的数据库基础编程(1)
·QQ聊天记录器演示程序(一)
·VB.NET的数据库基础编程(2)
·了解SQL语句的功能,快速学会SQL语句
·Delphi程序执行时实时生成报表
·使用设计模式构建通用数据库访问类
·如何在GridView中一次性批量更新多行数据
·通过Remoting service上传文件
·SQL查询语句精华使用简要
·数据库开发与应用:SQL常用命令使用方法
·101个微软提供的Visual Studio 2005示例
·SQLSERVER备份和对日志的处理

降低CPU使用效率 将逻辑放置数据库以外处理

日期:2007年6月27日 作者: 查看:[大字体 中字体 小字体]


今天碰到了性能问题,DB Server 的 CPU 100%,vmstat 的输出也很高。找到 CPU 高的 sql 语句是使用了一个将 IP 地址字符串转换为数字的 PL/SQL 自定义函数,后来将这个逻辑放到数据库外的 VB 程序实现,CPU 使用率下降,问题解决。

其实那个函数处理并不复杂,也没有访问数据库对象,没想到有如此大的影响。得出的结论就是:与数据库无关的处理过程放到数据库以外的调用程序来实现,即便用 sql 程序可以实现也应如此。

还有一个要注意的问题,即不要在查询语句中调用自定义的 PL/SQL 函数,举个例子:

自定义函数如下,输入16位整数 IP 地址,输出 IP 所属省份,ipbp 中有8万条数据。

CREATE OR REPLACE FUNCTION fn_ipaddr_to_province (p_ipaddr NUMBER)
RETURN VARCHAR2
IS
v_ret VARCHAR2 (100) := '';
BEGIN
BEGIN
SELECT province
INTO v_ret
FROM ipdb
WHERE start_ip <= p_ipaddr AND end_ip >= p_ipaddr AND ROWNUM = 1;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
v_ret := '';
END;
RETURN v_ret;
EXCEPTION
WHEN OTHERS
THEN
RAISE;
END fn_ipaddr_to_province;
/

根据省份确定服务器地址,DOMAINNAME中有35条数据。

方法一:

BEGIN
SELECT serverip
INTO v_serverip
FROM DOMAINname
WHERE province = fn_ipaddr_to_province (p_ip) AND ROWNUM = 1;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
v_serverip := 'mp3.u-vv.com';
END;
...

这种方法 CPU 使用率 90% 以上

方法二:

v_province := fn_ipaddr_to_province (p_ip);
BEGIN
SELECT serverip
INTO v_serverip
FROM DOMAINname
WHERE province = v_province AND ROWNUM = 1;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
v_serverip := 'default DOMAIN';
END;
...

这种方法 CPU 使用率 40% 左右

(出处:清风下载学院






上一篇:你知道吗?优化数据库前的十大问题

下一篇:SQL语句学习 子选择如何来合并查询

降低CPU使用效率 将逻辑放置数据库以外处理 相关文章:
·《X战警传奇2:天启降临》完全攻略
·将Windows Vista降级为Windows XP
·零售版Vista操作系统开始降价
·网络营销:如何面对搜索引擎降权
·荣誉勋章:诺曼底空降作弊码
·如何降低CPU温度?
·持续高温警报 给CPU选个降温软件安稳度日
·Photoshop人像照片处理:祛皱,降噪,美肤
·降低CPU使用效率 将逻辑放置数据库以外处理
·[任务]教你玩转天降宝盒任务
降低CPU使用效率 将逻辑放置数据库以外处理 相关软件:
·《荣誉勋章:神兵天降》官方繁体中文汉化包
·CPU降温圣手 V6.3
·《荣誉勋章之空降神兵》中英文版通用 免CD补丁
·降爱密令
·降魔天使
·降狮伏虎玉人精
·降妖
·《紧急迫降》
·天使再度降临 恩雅 永恒(Enya-Amarantine)
·《荣誉勋章空降E3狙击手》游戏视频

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:vipcn