2012-06-21 17 views
6

Quale sarebbe il migliore tipo di dati da utilizzare per la memorizzazione di un MSISDN (numero di telefono).Miglior tipo di dati e lunghezza da utilizzare per la memoria MSISDN

È necessario essere in grado di memorizzare qualsiasi numero di telefono nel mondo.

Qualcuno conosce la massima lunghezza MSISDN possibile, incluso il prefisso internazionale?

Ad esempio, i numeri di telefono del Sud Africa sono + 27xxxxxxxxx che si traduce in 11 cifre escluso il +

Il + non deve essere conservato.

Grazie in anticipo

risposta

10

Vorrei usare BIGINT. Si prega di evitare l'uso di varchar a tutti i costi. È una pessima idea usare varchar o char.

Motivi. Varchar/char occupa più spazio, è più lento fare ricerche e riferimenti incrociati e anche l'indice è più grande.

Quando si progettano le tabelle, si tenta di mantenerle con lunghezze di riga impostate, le cose verranno eseguite più velocemente. Se è necessario disporre di un campo di testo, è spesso preferibile utilizzare char anziché varchar poiché il costo generale di varchar è elevato.

Sto lavorando in telecomunicazioni da 12 anni progettando/ottimizzando le piattaforme VoIP/SMS. Il killer numero uno quando vengo a riparare i sistemi è varchar ovunque.

Solo il mio valore di 0,02.

3

Un MSISDN è limitata a 15 cifre, prefissi non inclusi.

MSISDN nella variante GSM è costruito come:

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

È idealmente Non è necessario salvare il +. Rappresenta semplicemente un'uscita.

Il prefisso internazionale più lungo dovrebbe essere utilizzato solo quando si effettuano chiamate con un Thuraya, che è 882 16. È possibile salvare altrove dove.

Se si prevede di combinare il prefisso internazionale e MSISDN, è possibile utilizzare un nvarchar (21) o varchar (21).