使用Country-State-City模块的更好方法

时间:2016-07-20 11:17:44

标签: php mysql ajax

我正在开发一个Web应用程序,我需要使用Country-State-City下拉列表来生成基于位置的报告。我遇到了两种方法: -

  1. Option 1 - 只维护一个表位以进行存储 国家,州,城市细节

  2. Option 2 - 每个表都有三个不同的表     国家,州和城市

  3. 注意:在大多数情况下,当选择城市时,我还需要显示其州和国家,因此在这两种情况下我都需要使用连接。 那么哪种方法会带来更好的性能

2 个答案:

答案 0 :(得分:0)

我建议选择2来避免加载数据库。填写国家选择国家或反之亦然和国家 - 城市相同。

答案 1 :(得分:0)

确定选项2要好得多。在一个表格中,您必须为每个城市填写国家/地区名称和州 - 这是大量重复的项目。对这些事物使用单独的表格称为database normalization,强烈建议强烈推荐以确保数据完整性并抵御各种错误。

使用denormalized tables适用于对选择查询性能至关重要的任务。但在这里你不会有任何明显的加速。此外,您可以通过部分键入的国家/地区名称搜索城市或获取特定国家/地区的州名单等信息来降低性能。

您也可以在讨论后查看: