2010-01-22 3 views
2

이 테이블은 지속적으로 새로운 행을 삽입하거나 업데이트합니다. 지속적으로 삽입 및 업데이트합니다. 하나의 거대한 테이블 또는 2 개의 작은 테이블을 갖는 것이 더 낫습니다

는 내가 포함하는 큰 테이블, 동영상 URL, 제목, 설명, 태그, 뷰, 등급이,

내가이 개 작은 테이블

ID 동영상 URL, 제목이 분할해야 설명

코멘트

및 위의 링크를 참조하십시오.

는 아이디 VIDEO_ID, 태그, 전망, 등급, 테이블이 매우 normalized을 것처럼 그것은 소리가 나지 않는다

+0

의견은 자신의 테이블에 있어야합니다. – alex

답변

5

코멘트. 성능상의 이점이없는 한 중복 데이터를 저장하지 않으려합니다. 정보를 복제하면 레코드 크기와 인덱스 크기가 커져 디스크 검색 시간이 길어질 수 있습니다. - videoId,url,title,description,rating,views

  • video_tags-videoId,tag
    • 비디오 : 그들은 소리대로 나열된 열은 설명이 필요로하는 경우

      , 나는 세 테이블에 그것을 깰 것 video_comments - videoId,comment

    이렇게하면 기본 정보를 한 번만 저장하여 각 비디오에 대해 단일 항목을 가질 수 있습니다. 그런 다음 비디오를 여러 태그와 여러 주석에 연결할 수 있습니다.

  • +0

    Normalize, normalize, normalize. 가능한 경우 ID를 정수로 유지하십시오. +1 –

    +0

    비디오와 태그가 교차하는 Video_Tag_Video 테이블 일 수도 있습니다. 이렇게하면 한 번 저장된 태그 이름을 갖게됩니다. 정규화를 위해 +1. –

    +0

    @ 코프 - 그래, 나는 그것이 갈 길 일거야. 나는 내 대답을 간단하게하고 싶었고, 포스터가 태그를 달기를 원한다는 것을 알기는 어렵지만, 사이트 전체가 될 것이라면 별도의'tags' 테이블이 현명해야한다. – zombat

    0

    설명하는 것은 "수직 분할"이라고합니다. 장점이 있는지 여부는 가변 크기 열을 하나의 테이블로 분리하는지 여부에 달려 있습니다. 테이블을 수평으로 분할 할 수도 있습니다. 파티션 유형 (있는 경우)에 도움이되는 자세한 정보는 Improving Database Performance with Partitioning을 읽으십시오.

    다른 사람들은 먼저 데이터를 표준화 한 다음 필요한 성능을 얻지 못하는 경우에만 비정규 화합니다.

    0

    데이터 세트가 커질수록 느린 읽기, 쓰기 및 업데이트가 단일 테이블에있게됩니다. 논리적 인 것처럼 많은 수의 하위 집합으로 분할하여 최소화 할 수 있습니다. WordPress가 태그와 코멘트를 저장하는 방법을 살펴보십시오.

    +0

    LOL .... 실제로 이것은 내가 말하고있는 것입니다 ... 워드 프레스는 태그와 포스트 테이블과 별도로 코멘트를 저장합니다 ... – bohohasdhfasdf

    관련 문제