【摘要】:为了避免I/O的冲突,我们在设计数据库物理规划时应该遵循几条基本的原则:table和index分离:table和index应该分别放在不同的tablespace中。对经常发生DML操作的segemeng来说,碎片是不能完全避免的。当我们遵循了以上原则后,仍然发现有I/O冲突存在,我们可以用数据分离的方法来解决。在实际的物理存储中,建议使用RAID。
为了避免I/O的冲突,我们在设计数据库物理规划时应该遵循几条基本的原则(以ORACLE举例):
(1)table和index分离:table和index应该分别放在不同的tablespace中。
(2)Rollback Segment的分离:Rollback Segment应该放在独立的Tablespace中。
(3)System Tablespace的分离:System Tablespace中不允许放置任何用户的object。(mssql中primary filegroup中不允许放置任何用户的object)。
(4)Temp Tablesace的分离:建立单独的Temp Tablespace,并为每个user指定default Temp Tablespace。
(5)避免碎片:但segment中出现大量的碎片时,会导致读数据时需要访问的block数量的增加。对经常发生DML操作的segemeng来说,碎片是不能完全避免的。所以,我们应该将经常做DML操作的表和很少发生变化的表分离在不同的Tablespace中。(www.xing528.com)
当我们遵循了以上原则后,仍然发现有I/O冲突存在,我们可以用数据分离的方法来解决。
(1)连接Table的分离:在实际应用中经常做连接查询的Table,可以将其分离在不同的Taclespace中,以减少I/O冲突。
(2)使用分区:对数据量很大的Table和Index使用分区,放在不同的Tablespace中。
在实际的物理存储中,建议使用RAID。日志文件应放在单独的磁盘中。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。