2013-10-26 2 views
0

많은 행을 단일 행에 보관해야하는 것에 대해 걱정해야합니까? 또는 성능면에서 그다지 문제가되지 않습니까?평균 행 길이 mysql이 성능에 영향을 줍니까?

+1

에 따라 다릅니다. 테이블이 이미 정규화되어 있습니까? 특정 쿼리의 속도를 높이기 위해 비정규 화하고 있습니까? 걱정되는 특정 쿼리가 있습니까? 정말 무엇을하려고하는지에 따라 다르지만 일반적으로 말하자면 많은 열을 가지고있는 것이 전혀 문제가되지 않습니다. – cen

+0

@cen 정규화 된 것은 무엇입니까? –

+1

http://en.wikipedia.org/wiki/Database_normalization – cen

답변

0

'many'는 몇 개입니까? 특정 컬럼이 필요하지 않기 때문에 널 (NULL)이 많은 경우 NULL 데이터 포인트가 적은 더 많은 테이블로 데이터베이스를 표준화하는 것이 더 효율적일 수 있습니다. 그러나 너무 중요하지 않아야합니다.

+1

프로필 데이터가있는 사용자 열이 있습니다. 이 프로파일 데이터는 실제로 비어있을 수 있습니다. 그래서 나는 user_meta 테이블을 만드는 것이 좋을 것입니다. –

+0

그것은 얼마나 많은지에 달려 있습니다. NULL이 그렇게 나쁘지는 않지만 100 개의 행이 200 개의 열로 구성되어 있고 그 중 100 개가 행의 90 %에서 NULL 인 경우 크기를 줄이기 위해 정상화하는 것이 더 똑똑합니다. – Leigh

+0

더 많은 20 개의 열과 10 개의 NULL이 있습니다. –

1

(약간) 걱정됩니다. 견인 크기가 클수록 행 수가 적어 디스크 페이지에 맞을 수 있으므로 행 길이가 길어질수록 성능이 저하됩니다.

긴 행을 피하기 위해 초기에 디자인을 변경하지 마십시오. 문제가 될 경우 문제가 될 때까지 걱정하지 마십시오. 미래의 "성능 문제"를 방지하기 위해 순수하게 설계를 변경 치명적인 죄악이다 "초기 opimizing * 될 것이다.

+0

문제가 발생하면 모든 데이터를 의미있는 방식으로 마이그레이션하기가 어려울 수 있습니다. S –

+0

작업 - 주변의 빠른 하드웨어 구매를 초과 할 수 있습니다. – Bohemian

0

I 사용자 ProfileA와를 저장하는 데이 개 테이블을 사용하고 있습니다. 전체

  1. 을 하나

  2. 6 COLS와 MySQL의 메모리에 저장
  3. users_mem, : 아이디, 이름, 성별, 채팅 PBS

검색어가 가장 많이

사용자 ID와 이름/닉네임과 이상 필요하지 않습니다? 때때로 성별.

chat & pbs =이 열이 0이면 사용자가 새 메시지를 가지고 있으면 무거운 테이블에서 조회 할 필요가 없습니다.

은 무거운 시스템과 호환됩니다.

관련 문제