蒙在股里 发表于 2015-1-16 22:40:13

MYSQL网页设计利用 db_file_multiblock_read_count测...

MySQL的支持者们却认为,MySQL所保留的功能都是精华,并且是你部署、MySQL学习教程配置和维护这个数据库所必不可少的一些功能。oracle
link:

http://www.eygle.com/faq/db_file_multiblock_read_count&OracleIO.htm



初始化参数db_file_multiblock_read_count影响Oracle在实行全表扫描时一次读取的block的数目.

db_file_multiblock_read_count的设置要受OS最年夜IO才能影响,也就是说,假如你体系的硬件IO才能无限,
即便设置再年夜的db_file_multiblock_read_count也是没有效的。

实际上,最年夜db_file_multiblock_read_count和体系IO才能应当有以下干系:


Max(db_file_multiblock_read_count)=MaxOsIOsize/db_block_size

固然这个Max(db_file_multiblock_read_count)还要受Oracle的限定,
今朝Oracle所撑持的最年夜db_file_multiblock_read_count值为128.

我们能够经由过程db_file_multiblock_read_count来测试Oracle在分歧体系下,单次IO最年夜所能读获得数据量:



$sqlplus"/assysdba"

SQL*Plus:Release10.1.0.2.0-ProductiononWedAug1123:43:522004

Copyright(c)1982,2004,Oracle.Allrightsreserved.


Connectedto:
OracleDatabase10gEnterpriseEditionRelease10.1.0.2.0-64bitProduction
WiththePartitioning,OLAPandDataMiningoptions

SYSASSYSDBAon11-AUG-04>showparameterread_count

NAMETYPEVALUE
-----------------------------------------------------------------------------
db_file_multiblock_read_countinteger16

SYSASSYSDBAon11-AUG-04>createtablespacedfmbrc
2datafile/opt/oracle/oradata/eygle/dfmbrc.dbf
3size20Mextentmanagementlocaluniformsize2M;

Tablespacecreated.

SYSASSYSDBAon11-AUG-04>createtablettablespacedfmbrcasselect*fromdba_objects;

Tablecreated.

SYSASSYSDBAon11-AUG-04>insertintotselect*fromt;

9149rowscreated.

SYSASSYSDBAon11-AUG-04>/

18298rowscreated.

SYSASSYSDBAon11-AUG-04>/

36596rowscreated.

SYSASSYSDBAon11-AUG-04>commit;

Commitcomplete.

SYSASSYSDBAon11-AUG-04>altersessionsetdb_file_multiblock_read_count=1000;

Sessionaltered.

SYSASSYSDBAon12-AUG-04>showparameterread_count

NAMETYPEVALUE
-----------------------------------------------------------------------------
db_file_multiblock_read_countinteger128


SYSASSYSDBAon11-AUG-04>altersessionsetevents10046tracenamecontextforever,level12;

Sessionaltered.

SYSASSYSDBAon11-AUG-04>altersystemflushbuffer_cache;

Systemaltered.

SYSASSYSDBAon11-AUG-04>selectcount(*)fromt;

COUNT(*)
----------
73192

SYSASSYSDBAon12-AUG-04>@gettrace

TRACE_FILE_NAME
--------------------------------------------------------------------------------
/opt/oracle/soft/eygle_ora_24432.trc


$cat/opt/oracle/soft/eygle_ora_24432.trc|grepsca
WAIT#26:nam=dbfilescatteredreadela=18267p1=10p2=10p3=128
WAIT#26:nam=dbfilescatteredreadela=8836p1=10p2=138p3=127
WAIT#26:nam=dbfilescatteredreadela=8923p1=10p2=265p3=128
WAIT#26:nam=dbfilescatteredreadela=8853p1=10p2=393p3=128
WAIT#26:nam=dbfilescatteredreadela=8985p1=10p2=521p3=128
WAIT#26:nam=dbfilescatteredreadela=8997p1=10p2=649p3=128
WAIT#26:nam=dbfilescatteredreadela=9096p1=10p2=777p3=128
WAIT#26:nam=dbfilescatteredreadela=583p1=10p2=905p3=12
$


我们能够看到,在以上测试平台中,Oracle最多每次IO可以读取128个Block,因为block_size为8k,也就是每次最多读取了1M数据.
体系平台为:

$uname-a
SunOSbilling5.8Generic_108528-23sun4usparcSUNW,Ultra-4



固然详细的,Oracle一次IO能读取几block还和良多要素有关,好比存储是不是一连,磁盘是不是经由条带等体例分别,而且Oracle的
单次IO读取不克不及超过Extent界限等.某些平台还和操纵体系的参数设置有关.

人人能够测试一下分歧的平台,Oracle的单次IO最多能够读取的Block数目.
曾经的功能列表可能会迅速变得过时了。而且,有些功能对有的应用程序非常重要,但是对别的应用程序则不一定。

分手快乐 发表于 2015-1-19 21:08:40

是要和操作系统进行Socket通讯的场景。否则建议慎重!

活着的死人 发表于 2015-1-25 18:36:28

理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识

金色的骷髅 发表于 2015-2-3 12:58:59

比如,MicrosoftSQLServer2008的某一个版本可以满足现在的这个业务的需要,而且价格还比Oracle11g要便宜,那么这一产品就是适合的。

愤怒的大鸟 发表于 2015-2-9 01:55:15

只能告诉你,学好数据库语言和原理,多见识几种数据库软件,比一棵树上吊死要好。

谁可相欹 发表于 2015-2-26 18:04:17

分区表是个亮点!从分区表也能看出微软要做大作强SQLServer的信心。资料很多,这里不详细说。但是重点了解的是:现在的SQLServer2005的表,都是默认为分区表的。因为它要支持滑动窗口的这个特性。这种特性对历史数据和实时数据的处理是很有帮助的。

只想知道 发表于 2015-3-8 16:28:59

同样会为索引视图等应用带来麻烦。看看行级和事务级的快照数据放在tempdb中,就能感觉到目前架构的尴尬。

因胸联盟 发表于 2015-3-16 05:17:20

以前的DTS轻盈简单。但是现在的SSIS虽然功能强大了很多,但是总是让人感觉太麻烦。看看论坛中询问SSIS的贴子就知道。做的功能太强大了,往往会有很多用户不会用了

仓酷云 发表于 2015-3-22 20:12:47

对于微软系列的东西除了一遍遍尝试还真没有太好的办法
页: [1]
查看完整版本: MYSQL网页设计利用 db_file_multiblock_read_count测...