仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 659|回复: 8
打印 上一主题 下一主题

[学习教程] MYSQL网站制作之跟踪Oracle9i 的CPU和I/O利用价值

[复制链接]
活着的死人 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:22:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
正如前文所提到的,MySQL易学、易部署、易管理和易维护。当Oracle每次新版本的公布,这一数据库就会变得加倍的受存眷,特别是它的内部情况。Oracle在Oracle服务器上设置了良多基于CPU个数的主要的初始化参数,而且Oracle如今已加倍地意想到CPU运转轮回周期和I/O操纵的利用价值。

基于本钱的SQL优化器(CBO)已被进步到思索内部的影响,特别是当为一个SQL查询处置最好实行的时分。由于数据库并不是运转在一个不受其他要素影响的情况中,CBO将会成为影响每次SQL操纵的内部磁盘I/O价值和CPU运转周期价值的要素。这一主要的功效使得CBO成为环球多半成熟软件产物中的个中一个。CBO的事情就是为任何SQL操纵选择一个最好的实行企图。
依据Oracle文档,关于I/O和CPU的利用价值评价以下:
利用价值=(#SRds*sreadtim+#MRds*mreadtim+#CPUCycles
-------------------------------------------------
cpuspeed)
-------------------------------------------------
sreadtim
这里:
#SRDsC单块读进的数量
#MRDsC多块读进的数量
#CPUCyclesCCPU运转周期的数量
sreadtim-单块读进的工夫
mreadtimC多块读进的工夫
cpuspeed-每秒的CPU运转次数

请注重内部利用价值遭到磁盘读定的估量利用价值和与每次外部操纵相接洽的估量CPU价值的影响。Oracle保留有关SQL处置的很多成份价值的具体信息,并利用这些均匀的价值来影响基于本钱的SQL优化器的选择。以下是一些典范:
混乱旌旗灯号毗连的价值──Oracle晓得一个混乱毗连所损耗的RAM内存的均匀数目。
分类──Oracle为了实行分类和会合操纵而坚持跟踪RAM。
列表扫描价值──Oracle保留关于实行一个多块读进必要工夫的信息。
索引块会见价值──Oraclet晓得引出一个单一的块所必要的均匀工夫。
请注重这些利用价值的评价根据是分歧的,这次要取决于你对Oracle优化器的选择。假如你具有一个带有first_rows优化器形式的OLTP体系,CBO就可以够更快地前往行操纵。另外一方面,假如你利用的是数据堆栈的first_rows优化器形式,CBO将会被这些内部要素严峻影响,由于first_rows形式被计划以削减资本损耗。
为了可以完全地舆解Oracle的内部利用价值,让我们深切查阅这些新的内部影响和OracleCBO怎样利用内部利用价值。
CPU价值

如今CBO已可以估量每操纵必要的呆板运转周期的数目级,并影响实行企图盘算的价值。与Oracle查询有关的CPU利用价值取决于以后的服务器载进情形。CPU价值一般并非很主要,除非是全部Oracle程序利用过量的CPU资本。
IO价值

CBO能够估量每操纵的物理块读进的数目级。I/O价值与物理数据块读进成反比。但是,CBO不具有缓冲目次的优先权力,也不克不及区分一个逻辑读进和一个物理读进。由于这些弱点,CBO没法辨认数据块是不是已读进RAM数据缓冲器。
并不是完整的完善

注重到这些利用价值也是读进数目的功效,并与读进次数有关,也注重到内部价值并没有思索到位于RAM数据缓冲器的数据块的数目,但新的CBO公布版本应当思索到这一要素。
这里我们能够看到Oracle都利用了评测实行企图的CPU和I/O价值评价。比拟于我们处置一些相似查询而言,这一评价会变得加倍庞大,由于相似查询能够被很多并发的程序处置。
在我文章的下一栏中,我将会讲到CBO怎样被统计数目所影响。为了可以做出最好的实行企图,CBO必需充实利用与查询有关的一切数据项目信息,由于你必需把持怎样分派统计数目,这对CBO的调剂是一个关头的方面。


”由于MySQL已经是一个运行了众多知名Web2.0网站的数据,包括Craigslist、Digg、Wikipedia和Google等,或许我们可以说每一个Web2.0公司实质上是一个使用MySQL数据库的公司。
小妖女 该用户已被删除
沙发
发表于 2015-1-19 09:33:44 来自手机 | 只看该作者
作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题!
变相怪杰 该用户已被删除
板凳
发表于 2015-1-24 13:52:46 | 只看该作者
换言之,只有在不断的失败中尝试成功,而关于失败的总结却是很少的
海妖 该用户已被删除
地板
发表于 2015-2-1 16:22:48 | 只看该作者
很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。
admin 该用户已被删除
5#
发表于 2015-2-7 08:34:18 | 只看该作者
微软对CLR作了大篇幅的宣传,这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜,感觉对象数据库的一些概念可以实现了。
6#
发表于 2015-2-21 06:34:19 | 只看该作者
呵呵,这就是偶想说的
愤怒的大鸟 该用户已被删除
7#
发表于 2015-3-6 20:00:46 | 只看该作者
多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油
兰色精灵 该用户已被删除
8#
发表于 2015-3-13 08:08:27 | 只看该作者
连做梦都在想页面结构是怎么样的,绝非虚言
因胸联盟 该用户已被删除
9#
发表于 2015-3-20 17:10:10 | 只看该作者
SQL语言是学习所有数据库产品的基础,无论你是做数据库管理还是做数据库开发都是这样。不过具体学习的侧重点要看你将来做哪一块,如果是做数据库管理(DBA),侧重点应该放在SQLServer的系统管理上.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-12 13:04

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表