2010-05-15 2 views
4

기본적으로 저는 퍼즐 관련 웹 사이트 (마이크로 사이트)를 만들고 있습니다. 단어 패턴 (예 : "r ?? n")을 입력하고 모든 일치 항목을 얻을 수있는 도구를 만들고 있습니다. 단어 (이 경우 : 비, 고삐, 파멸 등). 단어를 지역 텍스트 파일 (예 : 5 문자 단어의 반환 구분 목록이있는 words5.txt)이나 데이터베이스 (예 : 5 단어 단어를 다시 저장하는 Words5 테이블)에 저장해야합니까?)?어느 것이 더 좋을까요? 데이터를 로컬 텍스트 파일이나 데이터베이스에 저장/액세스 하시겠습니까?

데이터 검색 속도와 CPU 서버로드 측면에서 문제가 있습니다. 나는 분명히 두 가지 방법으로 시도 할 수 있었고 두 가지 방법으로 여러 번 실행 한 시간을 기록 할 수 있었지만 오히려이 경험이있는 사람들로부터 듣고 싶습니다.

일반적으로 어느 방법이 전반적으로 더 좋습니까?

답변

1

빠른 검색을 위해 확실하게 어떤 종류의 색인이 필요합니다. 색인 코드를 직접 작성하지 않으려면 데이터베이스를 사용하는 것이 가장 쉽습니다.

앱에 Java 또는 .NET을 사용하는 경우 db4o을 고려해보십시오. 한 줄의 코드로 모든 개체를 그대로 저장하기 때문에 테이블을 만드는 데 필요한 설치 비용이 들지 않습니다.

6

데이터베이스는 최소한의 작업으로 최상의 성능을 제공합니다. 내장 인덱스 지원 및 쿼리 분석기를 사용하면 무료로 우수한 성능을 얻을 수있는 반면 텍스트 파일을 사용하면 많은 작업을 수행 할 때 우수한 성능을 얻을 수 있습니다.

단기간에 데이터베이스와 플랫 파일의 차이점을 숨길 수있는 일반 인터페이스를 만드는 것이 좋습니다. 나중에 어느 것이 가장 좋은 성능을 제공하는지 벤치마킹 할 수는 있지만, 데이터베이스가 개발 시간당 최고의 성능을 제공 할 것이라고 생각합니다.

0

데이터를 로컬 텍스트 파일에 저장하면 (파일 끝에 새 레코드를 추가 할 때) 항상 빠르며 데이터베이스에 저장됩니다. 따라서로드가 많은 응용 프로그램을 만들면 텍스트 파일에 데이터를 저장하고 나중에 데이터베이스에 데이터를 복사 할 수 있습니다. 그러나 대부분의 응용 프로그램에서는 데이터베이스 접근 방식이 많은 이점을 가지고 있기 때문에 텍스트 파일 대신 데이터베이스를 사용해야합니다.

관련 문제