【发布时间】:2013-09-02 02:24:47
【问题描述】:
如果我要在 MySQL 中按照以下规范设计数据库:
1) 超过 2500 万条记录
2) 门牌号、街道、城镇、城市、邮政编码列
3) 街道、城镇、城市和邮政编码需要可全文搜索(在前端,搜索将在 AJAX 上运行,文本输入字段会立即出现下拉结果)
我将如何设计上述内容?
我正在考虑使用单个表 - 这是一个坏主意吗?鉴于这是地址数据,我不确定是否要跨不同的表进行规范化。我还想,如果使用单个表,我会在可搜索字段中创建 FULLTEXT 索引。
我以前没有使用过这么大的数据库。以上是个坏主意吗?
更新 #1:
决定对街道和邮政编码列进行规范化,这些列是实际搜索的唯一列(重新检查了原始规范)。做了一些快速的数学运算,街道名称的基数是总数据集的 2% 和邮政编码 6%,所以我认为这是最好的前进方式。
目前正在运行 2900 万行的导入 - 大约需要 5 小时。为了结束这个问题,稍后将再次更新性能测试。
【问题讨论】:
标签: mysql