2012-06-21 36 views
6

Loại dữ liệu tốt nhất sẽ sử dụng để lưu trữ MSISDN (số điện thoại) là gì.Loại dữ liệu tốt nhất và độ dài để sử dụng cho lưu trữ MSISDN

Cần có thể lưu trữ bất kỳ số điện thoại nào trên thế giới.

Có ai biết độ dài MSISDN tối đa có thể, bao gồm mã quay số quốc tế không?

Đối với số điện thoại ví dụ Nam Phi là + 27xxxxxxxxx mà kết quả trong 11 chữ số trừ +

The + không nhất thiết phải được lưu trữ.

Cảm ơn trước

Trả lời

10

Tôi muốn sử dụng BIGINT. Xin vui lòng tránh sử dụng varchar ở tất cả các chi phí. Đó là một ý tưởng rất xấu để sử dụng varchar hoặc char.

Lý do. Varchar/char chiếm nhiều không gian hơn, việc tìm kiếm và tham chiếu chéo cũng chậm hơn và chỉ mục cũng lớn hơn.

Khi thiết kế bảng thử và giữ chúng với độ dài hàng đã đặt, mọi thứ sẽ chạy tải nhanh hơn. Nếu bạn phải có một số lĩnh vực văn bản nó thường là tốt nhất để sử dụng char thay vì varchar như chi phí trên không của varchar là cao.

Làm việc trong viễn thông trong 12 năm nay thiết kế/tối ưu hóa nền tảng VoIP/SMS. Kẻ giết người số một khi tôi đến để sửa chữa hệ thống là varchars ở khắp mọi nơi.

Chỉ giá trị 0,02 của tôi.

3

MSISDN được giới hạn ở 15 chữ số, tiền tố không được bao gồm.

MSISDN trong biến GSM được xây dựng như:

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

Bạn lý tưởng không cần phải lưu +. Nó chỉ đơn giản là đại diện cho một lối ra.

Mã quay số quốc tế dài nhất sẽ chỉ được sử dụng khi thực hiện cuộc gọi với Thuraya, là 882 16. Bạn có thể lưu số đó ở nơi khác.

Nếu bạn dự định kết hợp mã quay số quốc tế và MSISDN, bạn có thể sử dụng nvarchar (21) hoặc varchar (21).

Các vấn đề liên quan