小编jam*_*s17的帖子

在MySQL表中高效查找数百万行

我有一个包含大约2000万行的CSV文件,我想在我的Web应用程序中使用它.数据是邮政/邮政编码到实际街道地址的映射,格式如下:

[zip_or_postal_code] [street_number] [street_name] [city] [state_or_province] [country]
Run Code Online (Sandbox Code Playgroud)

我的目标是在200毫秒内保持我的查找(通过邮政编码搜索).

我不确定这是否会有所作为,但我打算做以下事情:

  • 移动state/province,countrycity列自己的表和引用这些在我的主表,以避免不必要的膨胀.
  • 一些邮政编码包含多个街道和地址,因此我将合并数据并拥有1个邮政编码和邮政编码,并将多个地址存储在varchar中.这应该从表中减少几百万行.

我可以做些什么优化来帮助查找速度?例如,Google的反向地理定位API会在300毫秒内返回一个包含HTTP开销的结果.他们是如何做到的呢?

此外,我愿意使用其他数据库,但由于我已经在使用MySQL,这将是更好的选择.

编辑:查询将始终通过邮政编码完成,例如:给定邮编12345我需要返回街道#(s)/名称,城市,州和国家.街道#(s)/名称将存储为单个字符串字段,但是,我的应用程序将负责解析它们.

mysql lookup latency large-data

2
推荐指数
1
解决办法
3847
查看次数

标签 统计

large-data ×1

latency ×1

lookup ×1

mysql ×1