2012-06-21 2 views
6

MSISDN (전화 번호)을 저장하는 데 사용할 수있는 최상의 데이터 형식은 무엇입니까?MSISDN 저장소에 사용할 최상의 데이터 형식 및 길이

전 세계에 전화 번호를 저장할 수 있어야합니다.

국제 전화 걸기 코드를 포함하여 가능한 최대 MSISDN 길이를 아는 사람이 있습니까? 예를 들어 남아프리카 공화국 전화 번호는

는 + +를 저장하지 않는 +

제외한 11 개 자리를 초래 27xxxxxxxxx 있습니다.

미리 감사드립니다.

답변

10

BIGINT를 사용합니다. varchar는 사용하지 마십시오. varchar 또는 char을 사용하는 것은 매우 나쁜 생각입니다.

이유. Varchar/char는 더 많은 공간을 차지합니다. 조회 및 교차 참조를 수행하는 것이 더 느리고 색인도 더 넓습니다.

테이블을 디자인 할 때 행 길이를 설정하려고하면로드가 더 빨리 실행됩니다. 텍스트 필드가 필요한 경우 varchar의 오버 헤드 비용이 높기 때문에 varchar 대신 char을 사용하는 것이 가장 좋습니다.

현재 12 년 동안 통신 업계에서 근무하고 있으며 VoIP/SMS 플랫폼을 설계/최적화하고 있습니다. 내가 시스템을 고치러 갈 때 제일 큰 살인자는 어디에서나 볼 수있다.

내 0.02 가치.

3

MSISDN은 15 자리로 제한되며 접두사는 포함되지 않습니다. 당신은 이상적으로 +를 저장할 필요가 없습니다

MSISDN = CC + NDC (or NPA) + SN 
CC = Country Code 
NDC = National Destination Code 
NPA = Number Planning Area 
SN = Subscriber Number 

:

는 MSISDN은 GSM 변형에로 구축된다. 단순히 출구를 나타냅니다.

가장 긴 국제 전화 걸기 코드는 Thuraya (882 16)로 전화를 거는 경우에만 사용됩니다.

국제 전화 걸기 코드와 MSISDN을 함께 사용하려는 경우 nvarchar (21) 또는 varchar (21)를 사용할 수 있습니다.