首页 > 编程知识 正文

oracle修改唯一索引,索引 数据库

时间:2023-05-04 10:43:47 阅读:108082 作者:2528

例如,假设您刚用缺省填充因子创建了索引。 创建sqlserver后,索引将位于相邻的物理页上。 这是因为按顺序读取数据,所以i/o访问最佳。 但是,当表增加或改变为、时,就会发生页面分割。 如果发生分页,sqlserver必须将新页面分配给磁盘上的某个位置。 这些新页面与第一个物理页面不连续。 因此,由于访问使用随机i/o而不是顺序i/o,所以对索引页的访问速度较慢。

理想的填充因子是多少呢? 这取决于对sqlserver表的读取和写入APP应用程序的比率。 第一原则,遵循以下指导

低更改率表(读/写比率100:1 ):100%填充率

变更率高的表(读取以上的写入) 50-70%的填充率

读写各一半: 80-90%的填充因子

在找到最适合APP的填充因子之前也必须进行实验。 不要假设低填充因子总是比高的好。 的填充因子越低,性能就会下降,因为页面分割越少,sqlserver查询期间读取的页数也会增加。 如果填充因子过低,则不仅会增加i/o开销,还会影响缓存。 当数据页从磁盘移动到缓存时,包括可用空间在内的整个页面都会移动到缓存中。 因此,填充因子越低,必须移动到sqlserver缓存中的页面就越多,同时存在于其他重要数据页中的空间也就越少,从而降低性能。

如果未指定填充因子,则默认填充因子为0,表示100%的填充因子。 索引的叶页100%填充,但索引的中间页有保留的空间。

作为监视的一部分,创建新索引或重建索引时将确定填充因子。 实际上,缺省值0是不合适的,但只读数据库除外。 相反,请遵循上述讨论,因为填充因子希望确保适当的自由空间。

从:工作单元分类网:http://www.waaku.com/infoview 293270.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。