2009-12-03 2 views

답변

3

그것은 당신이 목표로하는 "효율성"의 종류에 달려 있습니다.

  • 당신은 텍스트 문자열의 내용을 변경하는 것입니다 : 여기

    은 무슨 뜻입니까?

  • 어떤 종류의 검색을 수행 하시겠습니까?
  • 텍스트를 추출 할 때 그 텍스트로 무엇을합니까?

제 생각에는 내용을 많이 변경하지 않거나 많은 분석을 수행하지 않는다면 데이터베이스를 사용하는 것이 좋습니다.

+0

+1 정확히 OP가 데이터를 가지고 무엇을하고 싶은지 물어 보는 질문. 그러나 나는 당신이 내용을 바꾸거나 많은 것을 분석하려고한다면 파일 시스템이 더 좋을 것이라고 생각했을 것입니다. –

+0

콘텐츠를 자주 편집하고 문자열의 개별 비트를 검색 할 계획입니다. 한 번에 전체 텍스트 블록을 추출 할 것입니다. – Robbie

+0

내용이 자주 바뀌면 OP는 파일 시스템에서 더 나을 것입니다. 나는 그 사실을 분명히 알았습니다! –

1

어떻게 액세스하고 있는가에 따라 다르지만 일반적으로 FS를 사용하면 성능이 향상됩니다. 그것은 DB가 FS의 최상위에 구축 된 또 다른 계층이고, FS를 직접 사용하는 이유입니다. 예를 들어 특별한 처리를하지 않고도 엄청난 처리가 없다고 가정하면 (예를 들어, 큰 파일이 아닌 100 개의 파일이 필요합니다. 구문 분석), DBMS 조작을 저장합니다.

+0

에 동의하지만, _ 그것이 반드시 다릅니다. 가장 중요한 것은 정적 페이지를 다시 디자인해야하는지 여부입니다. – rmeador

+0

rmeador가 맞습니다. 질문은 데이터를 찾고 데이터를 읽는 것에 관한 것이라고 가정했습니다. TrippyD 또한 포인트가있었습니다 - 10K 레코드는 실제 차이가 나는 데이터를 충분히 크지 않습니다. – synhershko

2

10k는 특별히 크지 않으므로 어느 쪽도 좋습니다. 나는 당신이 쉽게 검색 할 수 있도록 개인적으로 데이터베이스를 사용할 것이다.

0

저는 SQLite가 두 세계에서 가장 좋을지, 아니면 적어도 그 규모의 작업에 가장 적합한 데이터베이스인지 궁금합니다.

0

진짜 대답은 그녀가이 문자열로 무엇을 할 것인가입니다.

데이터베이스는 특정 레코드를 신속하게 반환 할 수 있도록 만들어졌습니다. SELECT * FROM Table로 가서 모두 연결하면 데이터베이스 사용에 아무런 포인트가 없습니다.

그러나 검색 할 수있는 데이터 사이에 관계가있는 경우 데이터베이스가 더 효율적입니다.

E.G., 날짜 집합에있는 사용자 집합에서 모든 텍스트 레코드를 가져올 수 있도록 하시겠습니까? 일부 레코드와 일치하는 사용자의 모든 레코드를 찾으십니까?

이러한 종류의로드는 순진한 구현보다 더 효율적일 수 있으며 일부 액세스 계층을 피할 수있는 경우에도 적절한로드보다 더 빠를 것입니다.

0

많은 고려 사항이 있습니다. 다른 사람들이 말했듯이, 어느 쪽의 접근 방식이든 적은 수의 10k 행 (수천)에 대해서는 잘 작동합니다.

하지만 나머지 앱은 무엇을합니까? 데이터베이스에서 모든 작업을 수행한다면이 작업을 수행 할 수 있습니다. 그 반대도 사실입니다.

그리고 어떻게 이것을 선택 하시겠습니까? 복잡한 텍스트 검색이 필요합니까? 그렇다면 데이터베이스가 좋지 않을 수 있습니다. 또는 새로운 속성을 추가하거나 속성을 검색하거나 다른 테이블의 데이터와 일치 시키시겠습니까? 이 일반적인 경우 데이터베이스가 더 좋을 것입니다.

데이터가 실제로 방대한 경우 (수백만 개의 10k 행) 성능 요구 사항이 너무 높지 않은 경우 파일 시스템을 압축하여 파일 시스템에 저장할 수 있습니다.

마지막으로 데이터 품질이 얼마나 중요합니까? 좋은 데이터베이스의 기능을 감안할 때 데이터베이스로 좋은 데이터 품질을 보장하는 것이 훨씬 쉽습니다.

관련 문제