0

我相信很多人都会遇到这个问题:从前端 JSP 页面,用户设置了一些标准,基于这些标准构建 SQL 并用于从一个或多个数据库表中检索结果。问题是,这张桌子每天增长 1 磨坊,变得巨大。

我知道这个问题没有明确的答案:我们怎样才能加快这个过程?索引可能是一个(我听说过很多但知之甚少),而我想到的另一件事是使用一些定制的缓存解决方案,例如 Gigaspace。在这种情况下,Hibernate 会有所帮助吗?

还有人想加他们的2美分吗?

非常感谢!约翰

4

2 回答 2

2

嗯,是的,你确实需要索引你的数据库!

如果您甚至没有为您的数据库建立索引,那么您可能需要先阅读一些关于如何正确索引您的数据库的信息。

然后,数据库表中数百万行的数量本身并不重要:一个体面的数据库系统存在的理由是处理具有数百万行的表。但是您需要确保从数百万行中实际检索到哪些行的规范是合理的,并且所讨论的查询可以脱离适当的索引(例如,因为用户输入的参数来缩小它们的范围)。“添加索引”不一定是灵丹妙药:您需要确保添加的索引适合您的查询在访问数据库时的最终外观。

我个人不会走上添加虚假缓存和其他复杂层的道路,直到(a)您确实确定在实践中您需要它们并且(b)您可以确定您添加的层将解决您希望他们解决的问题。如果您还没有开始为您的数据库建立索引,那么我真的会从构建一个简单的、经过适当优化的解决方案开始,然后从那里开始。

于 2011-06-26T15:58:58.543 回答
1

拥有如此多的数据甚至是其中的一部分,索引是必须的!就任何其他答案而言,这实际上取决于您打算如何处理大量数据,因为一种策略不会涵盖所有用例。

于 2011-06-26T16:30:22.817 回答