Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11780
  • 博文数量: 3
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 52
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-19 10:33
文章存档

2014年(3)

我的朋友

分类: 数据库开发技术

2014-07-18 11:04:19

    数据簇是将相关的或相似的行在物理上存储在一起,有索引数据簇和散列数据簇两种,由于物理上靠近。因此在时就会较少地移动磁头,这样也能加快数据检索速度。
    具体操作
    1、索引数据簇
    索引数拟簇是根据数据簇索引中的键值物理地存储表行,这好像改善了数据库的性能,而实际上并没起到预期作用,有时还使性能下降。这是因为表行是物理存储在一起的,当删
除或插入表行时,要对整个簇进行维护,以使其能继续满足索引数据簇的特点,但这样却人大降低了系统的性能。因此,一般情况下,应避免使用索引数据簇。
    2、散列数据簇
    散列数据簇是根据一定的散列算法,将某一行数据存储在某一特定的位置上。这样。当进行查询时,就会迅速定位表行,并一次性地将其取出,这在等位占询时尤其有效。
    若表PERSONS存储在基于NO列的数据簇上,则将对其查询时,将根据NO值98033做哈希运算,算出它的物理存储位置来。然后一步到位,取出表行。
    另外,散列数据簇中的表数据应当是非常稳定的,即不能经常变化,它的表应该是主要
用来查询用的。而不是进行编辑。当创建散列数据簇时,系统物理上为其预分配空间,在簇中创建表时,就把表行散列在其中,并且发散越好,散列簇的性能就越好。
    由于散列数据簇不适用于区间查询,因此最好是散列数据簇与索引共用。这样,不管进行何种查询,系统都将采取最佳方案来做。
阅读(320) | 评论(0) | 转发(0) |
0

上一篇:列举当今Oracle数据库性能优化工具

下一篇:没有了

给主人留下些什么吧!~~