【发布时间】:2011-08-29 23:30:29
【问题描述】:
我有一个存储了很多网页的数据库。
我将需要处理我拥有的所有数据,因此我有两个选择:将数据恢复到程序或使用我将创建的一些函数直接在数据库中处理。
我想知道的是:
- 在数据库中做一些处理,而不是在应用程序中是好的 想法?
- 什么时候推荐,什么时候不推荐?
- 有优缺点吗?
- 是否可以将语言扩展到新功能(外部 API/库)?
我尝试将内容检索到应用程序(有效),但速度很慢而且很脏。我的 当务之急是不能在数据库中做什么我可以在Java中做什么,但我不知道这是不是真的。
只是一个例子:我有一个名为Token 的表。目前,它有 180,000 行,但这将增加到超过 1000 万行。我需要做一些处理来知道两个标记为“专有名称”之间的单词是否是名称的一部分。
我需要处理所有数据。在这种情况下,直接在数据库上做比检索到应用程序更好?
【问题讨论】:
-
你在处理什么样的数据库?我认为答案将取决于此。
-
@c0de:检查问题标签。
-
我相信 c0deNinja 说的是数据库的目的。
-
数据库的目的是存储我拥有的所有信息。我的应用程序的最终目的是一个包含一些提取数据的数据库,而不是在程序中的使用。为此,我需要执行一些文本和统计操作。基本思想是所有表都会有很多数据,所有数据都必须传递给各种处理。
-
您可以使用专用的文本搜索引擎,例如 Sphinx 进行 Token 查询:我将它与 2+ 百万个文档索引一起使用,甚至使用通配符(用于部分匹配)和排名执行的高级查询在几分之一秒内。在这种情况下,您甚至可以拥有一个专用/单独托管的服务器来平衡负载。
标签: java database postgresql plpgsql