Sybase关于锁、索引的知识点

只有在索引出现损坏的情况下才需要重建索引。正常没有重建索引的建议

对索引的日常维护:
1,对于行锁表,如果有频繁的增删改,需要定期回收垃圾空间。(reorg)
2,定期做统计信息更新。(update statistics )

建立索引时会生成一个索引键值的统计分布图,执行计划就是根据分布图来估算给定索引值的记录数,从而决定执行计划(比如是否使用索引,还是表扫等)
如果表频繁(对索引键值)增删改, 那么需要定期重构这个分布图。 update statistics 就是做这个事情。

页锁表长期增删改后也会产生垃圾空间,不过对比行锁表,那就不是一个量级的。
对于频繁删除的行锁表,索引页会产生大量的垃圾空间,导致索引的空间比数据本身的空间还要大。

如果有并发需求,建议用行锁表。

页锁表的一年半载回收一次空间即可 reorg

行锁、页锁回收空间都是使用命令 reorg

update statistics 不影响读写。
不过这个维护操作需要整个表(的索引键值)读一遍,(来重建统计分布图),这个整表读的操作会消耗较大资源。所以通常都是在没有业务的时候执行。

 

posted @ 2022-01-11 15:37  一只竹节虫  阅读(155)  评论(0编辑  收藏  举报