存储美国电话号码的最佳方式(NANP)

时间:2015-04-29 16:48:04

标签: mysql couchdb

我要求存储NANP(北美编号方案)号码。这意味着我不在乎也不需要打扰国际号码。

编号方案如下: NPA-NXX-XXXX

我会过滤&剥去额外的空格或破折号( - )以使其成为10位正确的格式。目前我们将MySQL和CouchDB用于其他一些东西,但更喜欢将MySQL DB作为首选存储系统。 我正在寻找快速读取操作以在运行时匹配数字,并且写入可能有点慢,因为大多数插入/更新将在非工作时间发生。

因为给出了NPA& NXX永远不会从0开始,所以如果我们可以分开 它们和它们可以用作整数类型,以防万一。

对于NoSQL案例,可以为每个区域代码生成单独的文档,然后进一步隔离NXX& XXXX。 对于RDBMS情况,可以将完整数字存储为索引整数,以实现快速访问。

存储这些数字的最佳数据库设计是什么?

提前致谢。

1 个答案:

答案 0 :(得分:0)

  

我正在寻找快速读取操作以在运行时匹配数字

使用CouchDB,您可以将每个数字存储为文档的ID,例如

{
  _id: "NPA-NXX-XXXX",
  _rev: "1-..."
}

要匹配您发送轻量级

的任何数字
HEAD path/to/CouchDB/dbname/NPA-NXX-XXXX

它将响应状态码200(已匹配)或404(不匹配)。

写操作可以在大批量(/dbname/_bulk_docs)中完成。

因为数字存储为id,所以CouchDB的主索引可用于HEAD请求(如上所述) - 这意味着每次写入都可立即用于读取。