数据库存储手机号用bigint好还是char好?

    最近建数据库表的时候发现,存手机号时,bigint占的字节数是8,而char占的字节数时11,显然,用bigint存储手手机号能够节省很多内存,但是几乎所有的数据库存储手机号都用char,那么为什么不用bigint呢?

    各种百度后我得出以下几点:

    1.首先,手机号的本质是字符串而不是数字,只是恰巧长得像数字而已。(网上百度的,我也不知道三大运行商是怎么储存的)

    2.字符串可以通过LINK去匹配,查询很方便。

    3.字符串可以去匹配尾号或者首号。

    4.在32位的某些应用中,bigint太大,会溢出,要进行各种转换,很麻烦。

    5.手机号可能有-(座机),用int存不了。

    本人认知有限,希望得到各种指正,谢谢。

你可能感兴趣的:(数据库存储手机号用bigint好还是char好?)