MYSQL网页设计利用 db_file_multiblock_read_count测...
MySQL的支持者们却认为,MySQL所保留的功能都是精华,并且是你部署、MySQL学习教程配置和维护这个数据库所必不可少的一些功能。oraclelink:
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数目.
曾经的功能列表可能会迅速变得过时了。而且,有些功能对有的应用程序非常重要,但是对别的应用程序则不一定。 是要和操作系统进行Socket通讯的场景。否则建议慎重! 理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识 比如,MicrosoftSQLServer2008的某一个版本可以满足现在的这个业务的需要,而且价格还比Oracle11g要便宜,那么这一产品就是适合的。 只能告诉你,学好数据库语言和原理,多见识几种数据库软件,比一棵树上吊死要好。 分区表是个亮点!从分区表也能看出微软要做大作强SQLServer的信心。资料很多,这里不详细说。但是重点了解的是:现在的SQLServer2005的表,都是默认为分区表的。因为它要支持滑动窗口的这个特性。这种特性对历史数据和实时数据的处理是很有帮助的。 同样会为索引视图等应用带来麻烦。看看行级和事务级的快照数据放在tempdb中,就能感觉到目前架构的尴尬。 以前的DTS轻盈简单。但是现在的SSIS虽然功能强大了很多,但是总是让人感觉太麻烦。看看论坛中询问SSIS的贴子就知道。做的功能太强大了,往往会有很多用户不会用了 对于微软系列的东西除了一遍遍尝试还真没有太好的办法
页:
[1]