我有一个应用程序,它循环访问数据库表中的大量记录,并对该数据库中的记录执行大量SQL和.Net操作(目前我在PostgreSQL上使用Castle.ActiveRecord).
我在两个FIED上添加了一些基本的btree索引,正如您所预期的那样,SQL操作的性能大大提高了.为了最大限度地利用DBMS性能,我想做出一些受过更好教育的 Select ,即我应该为我的所有项目编制索引.
我知道在执行插入时会影响性能(因为数据库需要更新索引和数据),但是在创建数据库索引时应该考虑哪些建议和最佳实践呢?如何最好地为一组数据库索引 Select 字段/字段组合(经验法则)?
另外,如何最好地 Select 要用作聚集索引的索引?说到访问方法,在什么条件下,我应该在散列、要点或杜松子wine 上使用btree(它们到底是什么?).