最佳存储方式 U.S。 phone 个数字 ( NANP)
Best way to store U.S. phone numbers ( NANP)
我有存储 NANP(北美编号计划)号码的要求。这意味着我不在乎也不需要为国际号码操心。
编号计划是这样的:
NPA-NXX-XXXX
我会过滤并去除多余的 space 或破折号 (-) 以制作成 10 位数字的正确格式。目前我们将 MySQL 和 CouchDB 用于其他一些东西,但更愿意将 MySQL 数据库作为首选存储系统。
我正在寻找快速读取操作以在运行时匹配数字,并且写入可能会有点慢,因为大多数 insert/update 会在下班时间发生。
因为规定 NPA 和 NXX 永远不会以 0 开头,所以如果我们可以分开
它们可以用作整数类型以备不时之需。
对于NoSQL的情况,可以为每个区号生成单独的文档,然后进一步隔离NXX和XXXX。
对于 RDBMS 情况,可以将完整数字存储为索引整数,以便快速访问。
存储这些数字的最佳数据库设计是什么?
提前致谢。
I'm looking for fast read operation to match numbers during runtime
使用 CouchDB,您可以将每个数字存储为文档的 ID,例如
{
_id: "NPA-NXX-XXXX",
_rev: "1-..."
}
匹配任意号码你发送轻量级
HEAD path/to/CouchDB/dbname/NPA-NXX-XXXX
它会返回状态码 200(匹配)或 404(不匹配)。
写入操作可以批量完成 (/dbname/_bulk_docs
)。
因为数字存储为 id,CouchDB 的主索引可用于 HEAD 请求(如上所述)——这意味着每次写入都可立即用于读取。
我有存储 NANP(北美编号计划)号码的要求。这意味着我不在乎也不需要为国际号码操心。
编号计划是这样的: NPA-NXX-XXXX
我会过滤并去除多余的 space 或破折号 (-) 以制作成 10 位数字的正确格式。目前我们将 MySQL 和 CouchDB 用于其他一些东西,但更愿意将 MySQL 数据库作为首选存储系统。 我正在寻找快速读取操作以在运行时匹配数字,并且写入可能会有点慢,因为大多数 insert/update 会在下班时间发生。
因为规定 NPA 和 NXX 永远不会以 0 开头,所以如果我们可以分开 它们可以用作整数类型以备不时之需。
对于NoSQL的情况,可以为每个区号生成单独的文档,然后进一步隔离NXX和XXXX。 对于 RDBMS 情况,可以将完整数字存储为索引整数,以便快速访问。
存储这些数字的最佳数据库设计是什么?
提前致谢。
I'm looking for fast read operation to match numbers during runtime
使用 CouchDB,您可以将每个数字存储为文档的 ID,例如
{
_id: "NPA-NXX-XXXX",
_rev: "1-..."
}
匹配任意号码你发送轻量级
HEAD path/to/CouchDB/dbname/NPA-NXX-XXXX
它会返回状态码 200(匹配)或 404(不匹配)。
写入操作可以批量完成 (/dbname/_bulk_docs
)。
因为数字存储为 id,CouchDB 的主索引可用于 HEAD 请求(如上所述)——这意味着每次写入都可立即用于读取。