2009-10-25 3 views
2

나는 팀이 할 수있는 일을하도록 데이터베이스에 요청하는 것에 대해 생각하려고 노력하고 있습니다. 정말입니다. DBMS를 전지구 적이며 전능 한 존재로 생각하지 않고 유용한 도구로 취급하기 시작하면 올바른 태도로 최적화 및 데이터베이스 설계에 접근 할 수 있다고 생각합니다. 저에게 궁금한 점이 있습니다 : 현대 데이터베이스가 어떤 유형의 작업을 능가합니까? 나는 명백한 작업을 목록을 시작합니다 :데이터베이스는 무엇에 탁월합니까?

  • 인덱스를
  • 필터를 사용하세요 열

당신이 생각할 수있는 모든 다른 사람의 최소한의 인덱스

  • 주문을 사용하고 계십니까?

    편집 :

    • 바이너리 파일
    • 계층 적 데이터 처리 (대부분의 데이터베이스)

    를 저장하고 조작 : 같은뿐만 아니라 데이터베이스 안티 패턴을 추가 부담 까다로운 사람을위한 참고 사항 : databaseDBMS의 구분을 알고 있지만 대부분의 사람들은이를 인식하지 못하기 때문에 의도적으로 개념을 교환합니다.

  • +4

    매우 주관적이며 토론이지만 질문은 아닙니다. 적어도 커뮤니티 위키이어야합니다. 그렇지 않으면 이것은 그냥 재배 농업처럼 보입니다. –

    +4

    Adam, 가장 많이 본 질문은 "프로그래밍 방법론이 더 이상 사용되지 않는다는 것을 다른 사람에게 알리는 방법"입니다. 나는 또한 커뮤니티 위키를 만들기 전에 약 1 개월 동안 책을 꾸리는 것을 보았습니다. 하지만 예, 꼭 커뮤니티 위키로 만들 것입니다. 자, 다시 열어 보시겠습니까? – GuyBehindtheGuy

    +2

    이 질문은 분명히 다시 열립니다. 폐쇄 될 이유가 없습니다. 그는 다음과 같은 목적을 가지고있다. "나는 내 팀에 대해 생각하게하려고 노력하고있다."), 질문은 타당하며 주관적이지는 않습니다 ("현대 데이터베이스는 어떤 유형의 작업이 탁월합니까? "). 그리고 그는 확실히 농업을하지 않았습니다. (11 개월 동안 회원이되어 12 가지 질문을했으며, 하나는 받아 들여진 대답이 있습니다. 그가 농업을하기로했다면 그는 한 달에 한 번 이상 질문했을 것입니다 ...). 지금 커뮤니티 위키입니다. 무엇이 문제입니까? – Pwninstein

    답변

    5

    당신이 aggregate functions 된 놓친 한 가지 중요한 일 : 합계, 평균, 최소, 최대, 등, 계산 (적어도, 데이터베이스 분 일을 정말 잘한다, 맥스, 색인 열을 계산) .

    +0

    RDBMS가 수행하는 약 6 개의 집계 함수가 있으며, 숫자에 대해서만 작동합니다. 정확히 일반은 아닙니다. – yfeldblum

    +0

    감사합니다. Mark! 프레젠테이션에 "숫자 열 집계"를 추가했습니다. – GuyBehindtheGuy

    4

    아니라, 하나의 가장 명백한있다 :

    가게 편리한, 조직 및 메모리 효율적인 방식으로 정보의 **** 부하.

    1

    Mark Rushakoff의 대답에 추가하기 위해 여러 가지 집계 및 그룹화를 사용하여 데이터를 조작하여 필요한 데이터를 형식화하고 준비 할 수 있습니다.

    예를 들어, MySQL에서는 기록 된 모든 사용자를 선택하는 쿼리와 시간별 (24 시간제) 시간대별로 로그인 한 숫자를 시간별로 볼 수 있습니다. 가장 높은 하중이었다.

    데이터베이스는 응용 프로그램보다 이러한 조작을 수행하는 경향이 있지만 이러한 복잡한 쿼리는 프로파일 링 및 최적화에 크게 의존합니다.

    결과의 형식을 지정하는 것이 중요합니다. datetime을 문자열로 되돌릴 필요가있을 때 날짜/시간을 문자열로 변환해야하는 이유는 없습니다.

    +1

    데이터베이스가 'DateTime' 열을 응용 프로그램 코드보다 빠르게 문자열로 포맷 할 수 있다는 것을 증명할 수 있습니까? 내 자신의 스퓨리어스 클레임을 카운터 할 수 있습니다.'DateTime '은 8 바이트로 되돌아 오는 반면 양식 atted 문자열은 그보다 훨씬 더 많이 올 수 있습니다. 나는 데이터베이스를 사용하여 최종 사용자 형식을 수행하는 것에 대해 회의적입니다. 우려를 분리하십시오. –

    +0

    데이터베이스 서버가 웹 서버보다 훨씬 강력했기 때문에 데이터베이스가 할 수있을 때 응용 프로그램 측면에서 많은 형식을 지정하는 것이 타당하지 않음을 발견했습니다. 그것은 응용 프로그램 코드를 단순화하고 몇 가지 가능한 오류를 제거했습니다. –

    +1

    데이터베이스 측에서 값을 형식화하면 문화권 특정 형식을 지정하거나 시간대와 같은 항목을 변형 할 수 없게됩니다. 그것은 단지'DateTimes'를위한 것입니다. 전반적으로 데이터베이스 형식을 지정하면 실제 코드 재사용의 가능성을 제외하고 코드가 특정 응용 프로그램에만 적용됩니다. 데이타베이스 측의 데이터를 포맷팅하는 것이 애플리케이션 측 포맷보다 훨씬 더 (또는 심지어 측정 가능하게) 더 효과적이라는 것을 보여준 실제 벤치 마크를 보는 것이 흥미로울 것입니다. 인덱스 및 통계와 같은 데이터베이스 최적화는 서식 지정에 사용할 수 없습니다. –

    관련 문제