所以,在我看来,对于具有10k条记录的表的查询和对具有10条记录的表的查询几乎同样快,如果它们都获取大致相同数量的记录并充分利用简单索引(auto增量,记录id类型索引字段)。有效索引能够在多大程度上克服非常大的表的性能问题?
我的问题是,这将延伸到与接近4条十亿记录的表,如果它是正确索引,数据库是建立在这样一种方式,查询始终有效地利用这些指标?
此外,我知道将新记录插入到一个非常大的索引表中可能会非常缓慢,因为如果我只将新记录添加到表的末尾,所有索引都必须重新计算,那么我可以避免这种减速,还是不行,因为索引是一棵二叉树,并且树的大块仍然需要重新计算?
最后,我四处张望了一下大约有非常大的表工作一个常见问题/警告,但未能真正找到一个,所以如果有人的类似的东西都知道,链接,将不胜感激。
PostgreSQL的性能取决于不止多少条记录。但是一般来说,如果你有数十亿条记录,那么数据库将会变慢,即使有很多RAM。虽然RAM速度很快,但您仍然需要查找/读取/读取数据,然后对数据执行计算。请记住,“较慢”是一个相对术语。没有Hadoop之类的东西,数据库一直在增强内存和CPU以提高性能。 – vol7ron 2010-10-14 04:02:26
如果你打算使用非常大的表格,你可能想要考虑类似NoSQL的数据库,比如Hadoop;使用map reduce来分配服务器节点的工作。 – vol7ron 2010-10-14 04:04:45
“如果你打算使用非常大的表格”定义非常大的表格。 – Kuberchaun 2010-10-14 14:13:01