2012-02-10 5 views
1

나는 매일 article의 숫자를 가진 시스템을 만들 예정입니다. article에는 모두 keyword이 있고, keyword은 모두 article에 속할 수 있습니다. 이 같은 내 현재 데이터베이스의 모양을대형 데이터베이스를 최적화하는 방법은 무엇입니까?

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

그것은 잘 작동하지만 난 두려워 기사와 키워드의 숫자가 큰 것이, 다음 쿼리 시간이 많이 걸릴 것입니다. 예 : 모든 기사를 키워드로 나열하거나 기사의 모든 키워드를 나열합니다.

그렇다면 쿼리를 최적화 할 수있는 솔루션 (소프트웨어 및 하드웨어 모두)이 있습니까? 미리 감사드립니다.

+0

MySQL 또는 PostGresql과 같은 관계형 데이터베이스 시스템은 테이블을 인덱싱 할 수 있으므로 수십억 개의 행을 효율적으로 검색 할 수 있습니다. –

+0

조언 해 주셔서 감사합니다. @Basile Starynkevitch – hanuman0503

답변

0

면책 조항 : 데이터베이스에 대한 경험이 없으므로 양해 부탁드립니다. 나는 질의에 대해서 이야기하는 것이 아니라 데이터베이스를 저장하는 방법에 관한 것입니다.

indexing 당신의 데이터베이스를 여러분의 데이터베이스로 생각하십니까? 이 방법을 사용하여 다양한 시간 또는 데이터 양에 기초한 간격으로 데이터를 인덱싱 할 수 있습니다. 예를 들어, 자정에 매일 또는 1000 개의 새 항목 당 데이터베이스 인덱스 을 업데이트 할 수 있습니다.

색인을 먼저 지정하면 결과 공간은 색인을 만족하는 레코드로만 제한됩니다. 이는 (나에게) 거의 모든 경우로 해석되는 둘 이상의 (정렬 된) 결과가 필요한 경우에도 유용 할 수 있습니다.


나는 개인적으로 당신이 어떤 최첨단 데이터 마이닝 또는 매우 높은 확장 성을하려고하지 않는 한, 당신은 @Basile Starynkevitch의 조언에주의해야한다고 생각합니다.

+0

감사합니다. @ karusnesh, 색인 생성을 사용하려고합니다. – hanuman0503

관련 문제