2013-12-07 2 views
0

이것은 데이터베이스에서 가장 효율적인 방법으로 콘텐츠를 저장하는 방법에 관한 것입니다. 여기서 가장 중요한 것은 가능한 한 많은 공간을 절약하는 것이 아니라이 데이터를 사용하는 가장 빠른 방법에 중점을 둡니다.다중 선택을 데이터베이스에 유용하게 저장하는 방법은 무엇입니까?

그래서 그 쉬운 일이 일반적으로 :

우리는 라디오 상자 (10 개)를 선택할 수 있습니다 - 우리 모두를 선택하거나 우리가 아무것도를 선택할 수 있습니다 - 또는 한/'그들 중 일부를 선택합니다.))

정당한 TINYINT 내 테이블에 10 개 필드을 (1) 0 또는 1

B를 설정합니다

그래서 일반적으로 내 데이터베이스에 결과를 저장하기 위해 일반적으로 두 가지 옵션을 볼 수 나는 바이너리 시스템처럼 결과를 디코딩 할 수있는 하나의 Int (7)를 사용할 수있다. - fE 옵션 3을 선택하면 5 & 8 이와 유사합니다. 00101001.

그래서 어떤 질문이 더 합리적입니까?

B는 4 바이트 만 사용하고 A는 8 바이트를 사용합니다. B 외에 Binary를 해독하기 위해 간단한 PHP 함수가 필요합니다.

이제 데이터베이스에 질의가 발생하는 경우 어떤 옵션을 더 빨리 사용 하시겠습니까?

+0

모든 가능한 옵션이있는 enum은 무엇입니까? –

+1

그게 2^10 옵션, 또는 1024 옵션 ... – Konerak

+0

정확하게 - 그래서 ENUM은 여기 실제 사용됩니다 생각 :/ – Kris

답변

0

각 쿼리마다 항상 10 개의 필드가 모두 필요하지 않으면 10 개의 필드를 갖는 것이 좋습니다.

프로그래머가 더 쉽게 사용할 수 있습니다 (항상 비트 벡터를 계산할 필요는 없음). 새 열을 추가하거나 제거하는 것이 더 쉽습니다. 작고 빠른 색인을 일부 열에 넣을 수는 있지만 모든 열에는 넣을 수 없습니다.

+0

나는 항상 내가 10 명이 필요함을 안다. – Kris

관련 문제