2012-02-10 89 views
1

我打算建立一个系统,每天增加article的数量。每article有一些keyword,每keyword可以属于一些article。我现在的数据库是这样的:如何优化大型数据库?

**Article**(ID, Title, Content, ...) 
**Keyword**(ID, Value, ...) 
**Xref_Article_Keyword**(ArticleID, KeywordID) 

它工作正常,但我担心的文章和关键字数量较大,那么它会占用大量的时间进行查询。例如:按关键字列出所有文章或列出文章的所有关键词。

那么,有没有解决方案(包括软件和硬件)来优化查询? 在此先感谢!

+0

像MySQL或PostGresql这样的关系数据库系统能够对表进行索引,即使对于数十亿行,也可以提供有效的检索时间。 – 2012-02-10 08:37:23

+0

感谢您的建议,@Basile Starynkevitch – hanuman0503 2012-02-13 02:49:12

回答

0

免责声明:没有值得的数据库经验。我不是在谈论查询,而是关于你将存储数据库的方式

你有没有想过indexing你的数据库?通过这种方式,您可以在不同的时间或基于数据量的时间间隔为您的数据建立索引。例如,您可以每天午夜或每1000个新条目更新数据库索引 。

如果您首先将查询指向索引,那么结果空间将仅限于满足索引的记录。如果您想要多个(排序)结果,这对我来说可以转换为几乎所有的情况,这也可能有用。


我个人认为,除非你打算对一些前沿的数据挖掘或非常高的可扩展性,你应该留意着@Basile Starynkevitch的建议。

+0

感谢@karusnesh,我会尝试使用索引。 – hanuman0503 2012-02-13 02:48:36