飘灵儿 发表于 2015-1-16 22:21:48

MYSQL网页编程之数据表功能优化实例

与数据库相关的流程的逐渐标准化,使得解决方案提供商能以更便捷的方式提供服务、部署应用程序、规划容量和管理资源。DBaaS模式还有助于减少数据和数据库的冗余度并提升整体服务质量。

不管数据表接纳了甚么样的存储手艺,经由必定的工夫和事件处置运转后,在存储空间里城市发生一些“碎片”,从而招致功能下落。别的,因为事后估量的不敷,极可能会发明已界说的表空间的巨细不克不及满意必要等情形,这些成绩都是办理员举行数据库的一样平常办理保护过程当中会碰到的成绩,办理这些成绩的一个无效的举措就是表的重组。

数据表功能下落的缘故原由

1.迁徙的数据行
对数据淼母虏僮骰嵋鹗菪械睦┱梗虼说币桓鍪菘橹械目障锌占洳蛔阋匀菽赡掣鍪菪惺保庑惺萁映跏嫉氖菘橐频街匦路峙涞氖菘橹校饩褪鞘菪械那ㄒ疲Oracle9i体系必需在初始块中保存一个指针指向这一数据行地点的新块的ID,假如一个数据表中有良多迁徙行,为了检索或更新产生迁徙的数据行,每次操纵必需读取两个数据块,如许表的功能一定会下降。
办理数据行的迁徙的一个无效的举措就是设置无效的存储参数值“PCTFREE”,经由过程对表的数据的剖析得出的统计信息能够匡助办理员断定一个符合的PCTFREE值。
2.链接的数据行
假如某个数据行的巨细年夜于数据块的巨细,好比LOB(LargeObject,年夜工具)数据范例的数据表就极有大概会发生数据行的链接。在每一个数据块里都要计划指针指向下一个数据块的ID。因而,当链接过量时也会形成功能的下落。
办理数据行的链接成绩只能经由过程优化这些组成统一个数据行的数据块的存储,尽量将他们存储在物理上相邻的数据块中。

重组的寄义

重组,望文生义,就是布局的从头构造。在Oracle9i中供应了名为ReorgWizard(重组导游)的操纵。ReorgWizard经由过程办理空间使用率来匡助办理员保护数据库,使之运转优秀,ReorgWizard供应了3个重组功效。
重组特定计划工具:能够对特定的计划工具举行重组,特别是对数据表的重组,能够在表空间之间挪动数据表,能够变动表的存储参数,指定新的余暇表办理参数和新的事件处置参数。Oracle9i对表的重组是经由过程创立新的数据段、复制数据、删除旧的数据段3个步骤完成的,能够在统一表空间完成,也能够在分歧的表空间完成,但表空间的余暇空间要充足年夜。
重组全部表空间:次要完成修复表空间的余暇空间碎片以进步功能。
修复移植行:修单数据表或数据表分区中的迁徙数据行。
Oracle9i中可重组的计划工具包含:表(包含含LOB列的表)、表局限分区、索引、索引局限分区、索引簇和散列簇。修复移植行功效移植的行已被修复,但并未实行全部工具的完整重组,能够修复移植的行的计划工具包含表和表分区。

使用重组导游举行表的重组

在Oracle9i中表的重组能够经由过程图形化的重组导游操纵来举行。重组操纵将由一个【企业办理器】的功课利用OracleAgent(代办署理)来实行,这就请求实行重组的服务器节点上有EnterpriseManagerConsole(企业办理器把持台)、OracleManagementServer(办理服务器)和Agent,并且Agent必需运转在数据库重组处的统一节点上。
(1)以【登录到办理服务器】体例来登录【企业办理器】,在【办理方针导航器】当选择【收集】/【数据库】/【myoracle.mynet】/【计划】/【表】/【HR】/【EMPLOYEES】选项,单击鼠标右键,在弹出的快速菜单里选择【重组】选项,如3.43所示。
(2)呈现如3.44所示的重组导游的【接待利用】的界面,单击按钮。

(3)呈现如3.45所示的重组导游的【工具属性】界面的工具的【一样平常属性】选项卡。在【工具导航器】中是依照【用户名】/【表】/【表名】/【附属工具】分级构造工具的,单击选择某个工具后,在右侧的【工具属性编纂区】里呈现该工具的【一样平常信息】选项卡。
这里选择【表】/【EMPLOYEES】,在【一样平常信息】选项卡的【表空间】下拉列表框里能够变动数据表所属的表空间。
(4)切换到如3.46所示的重组导游的【工具属性】界面的工具的【存储】选项卡。能够修正表的数据区的【初始巨细】参数、事件处置数目的【初始值】参数、余暇列表的【余暇列表】参数等,设置修正终了后单击按钮。

表的重组操纵能够变动表空间,但没法修正表的布局,假如选择修正表的布局是没法变动表空间的。
(5)呈现如3.47所示的重组导游的【重组办法】界面,有两种重组的办法供选择:脱机重组和联机重组,两种重组办法对照以下。
【速率(脱机重组)】单选钮:暗示利用脱机重组的办法,偏重于重组的速率,但必要先将数据库脱机,脱机重组的一切操纵不记进REDO日记文件因而速率较快。
【可用性(联机重组)】单选钮:暗示利用联机重组的办法,偏重于可用性。天生的剧本将在响应服务器能够撑持的情形下充实使用联机功效的优点,在重组的过程当中,数据表上仍旧能够实行数据的查询操纵,但不同意有拔出、更新和删除操纵,仍旧保存表的各类存取权限。
这里选择【可用性(联机重组)】单选钮,单击按钮。
(6)呈现如3.48所示的重组导游的【暂存表空间】界面。重组导游一样平常经由过程将数据移到它在数据库中创立的一时工具来实行重组。当重组内容小于全部表空间时,可选择在其以后表空间创立这些一时工具,也能够别的利用一个暂存表空间。利用以后表空间更加快速,由于工具只挪动了一次。可是创立并利用暂存表空间能够制止在以后表空间内举行的重组对空间的影响,有两个选项可供选择。
【以后表空间】单选钮:工具地点的表空间假如有充足的空间来保护以后工具的两个正本时选择此项,数据只必要挪动一次,因而效力最高。
【暂存表空间】单选钮:若工具地点的表空间没有充足的空间来保护以后工具的两个正本时选择此项,数据必要挪动两次。
这里选择【以后表空间】单选钮,单击按钮。

(7)呈现如3.49所示的重组导游的【效果呈报和功课提要】界面,共有两个选项卡。
【效果呈报】选项卡:效果呈报供应一个毛病列表,大概供应被发明的关于重组功课的其他成绩,还供应有关被重组的工具和将要实行的操纵的信息。
【功课提要】选项卡:天生的功课剧本,包含用来实行重组的数据库命令的提要。实践剧本中既有来自提要的数据库命令,也有实行该功课所需的Oracle事件处置语句。
单击按钮将主动天生效果呈报和功课提要。
(8)重组导游将完效果果呈报和功课提要的天生历程,该历程延续工夫较长,天生终了后的界面如3.50所示,单击“封闭”按钮。

(9)在3.49中单击按钮,呈现如3.51所示的重组导游的【调剂】界面。在这里能够用于指定必要运转重组功课的工夫。
选择【当即实行】单选钮暗示将功课提交给OracleAgent功课体系并当即实行该功课。
选择【稍后提交】单选钮能够设置运转功课的日期和工夫,假如但愿在会见体系的用户较少时运转功课,则该项出格有效,它将重组功课提交给OracleAgent,以便在预定的工夫实行。这里选择【当即实行】单选钮,单击按钮。
(10)呈现如3.52所示的重组导游的【提要】界面。提要呈报重组导游的设置参数,包含以下3类。
一样平常信息:包含重组选项、暂存表空间、重组办法参数。
功课信息:包含称号、申明、方针、调剂参数。
已选工具:包含选择用于重组的工具。
单击“断定”按钮。

(11)重组操纵最初构成一个功课被提交给Oracle9i的功课体系,由功课体系主动调剂完成,乐成提交后呈现如3.53所示界面。乐成提交其实不即是功课就可以乐成实行,假如选择的表空间余暇空间不敷大概表空间读写有成绩都将招致功课的实行失利。



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

乐观 发表于 2015-1-19 09:26:32

不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关

冷月葬花魂 发表于 2015-1-27 18:50:27

不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关

再现理想 发表于 2015-2-5 11:52:01

having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。

小妖女 发表于 2015-2-11 16:24:40

如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录.

莫相离 发表于 2015-3-2 15:55:17

其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史,而且SQLServer2005的row_number比Oracle的更先进。因为它把Orderby集成到了一起,不用像Oracle那样还要用子查询进行封装。

不帅 发表于 2015-3-11 04:38:15

在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。

谁可相欹 发表于 2015-3-17 20:57:11

这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。

admin 发表于 2015-3-25 02:34:56

大家注意一点。如下面的例子:
页: [1]
查看完整版本: MYSQL网页编程之数据表功能优化实例