首页 > 其他 > 详细

为什么要将表和索引建立在不同的表空间?

时间:2020-08-26 17:30:02      阅读:90      评论:0      收藏:0      [点我收藏+]

“Oracle强烈建议,任何一个应用程序的库表至少需要创建两个表空间,其中之一用于存储表数据,而另一个用于存储表索引数据。因为如果将表数据和索引数据放在一起,表数据的I/O操作和索引的I/O操作将产生影响系统性能的I/O竞争,降低系统的响应效率。将表数据和索引数据存放在不同的表空间中(如一个为APP_DATA,另一个为APP_IDX),并在物理层面将这两个表空间的数据文件放在不同的物理磁盘上,就可以避免这种竞争了。”
上面的这句话是正确的,重点在于这句“并在物理层面将这两个表空间的数据文件放在不同的物理磁盘上”。因为如果是一块磁盘的话,建立两个表空间,因为物理上还是在竞争同一块磁盘,所以没有从根本上解决I/O竞争的问题。另外Oracle提倡这种做法,有两个目的,其一是如果在两个物理磁盘上创建不同的表空间来规避I/O竞争问题,其二更多的是为了管理的方便,这样在导入、导出以及设置备份策略的时候,就可以有选择性的只备份数据部分等。”

一、数据库中创建索bai引du的优点

1、创建唯一性索引,保zhi证数据库表中每一行数dao据的唯一性。

2、加快数据的检索速度,这也是创建索引的最主要的原因。

3、减少磁盘IO(向字典一样可以直接定位)。

4、通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。

5、加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。

二、数据库中创建索引的缺点

1、创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。

2、索引需要占用物理空间,特别是聚集索引,需要较大的空间。

3、当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。

为什么要将表和索引建立在不同的表空间?

原文:https://www.cnblogs.com/wobushitiegan/p/13566205.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!