PostgreSQL数据库学习之锁和索引

王朝mssql·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

9.5. 锁和索引

尽管 PostgreSQL 提供对表数据访问的非阻塞的读/写,但并非所有 PostgreSQL 里实现的索引访问模式都能够进行非阻塞读/写。

不同的索引类型按照下面方法操作∶

B-tree 索引

短期的共享/排他的页面级的销用于读/写访问。 销在索引记录被插入/抓取后立即释放。 B-tree 索引提供了无死锁条件的最高级的并行性。

GiST 和 R-Tree 索引

共享/排他的页面级锁用于读/写访问。锁在语句(命令)处理完成后释放。

Hash (散列)索引

共享/排他的页面级锁用于读/写访问。锁在页面处理完成后释放。 页面级锁比索引级的锁提供了更好的并行性但是容易产生死锁。

简单说,B-tree 索引是我们推荐的用于并行应用的索引类型; 因为它们还有比散列索引更多的特性,再那些需要对标量数据 进行索引的应用中,我们建议使用这种索引类型。在处理非 标量类型数据的时候,显然不能使用 B-tree;在这种环境下, 应用开发人员应该清醒意识到 GiST 和 R-tree 索引的相对弱 的并发性能。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航