【发布时间】:2016-11-23 14:29:17
【问题描述】:
我正在开发一个 Web 应用程序,我需要使用 Country-State-City 下拉菜单来生成基于位置的报告。我遇到了两种方法:-
注意:在大多数情况下,选择城市时,我还需要显示其状态和国家,因此在这两种情况下,我也需要使用加入。 那么哪种方法会带来更好的性能
【问题讨论】:
我正在开发一个 Web 应用程序,我需要使用 Country-State-City 下拉菜单来生成基于位置的报告。我遇到了两种方法:-
注意:在大多数情况下,选择城市时,我还需要显示其状态和国家,因此在这两种情况下,我也需要使用加入。 那么哪种方法会带来更好的性能
【问题讨论】:
我建议选择选项 2 以避免数据库负载。在选择国家时填充各州,反之亦然,对于州 - 城市也是如此。
【讨论】:
当然,选项 2 更好。在一张表中,您必须填写每个城市的国家名称和州 - 这是大量重复的项目。为此类事情使用单独的表称为 database normalization,强烈建议确保数据完整性和防止各种错误。
使用denormalized tables 适用于对选择查询性能至关重要的任务。但是在这里你不会得到任何显着的加速。此外,例如通过部分输入的国家/地区名称搜索城市,或获取给定国家/地区的州列表等,您的性能会降低。
您还可以查看以下讨论:
【讨论】: