首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不同数据库设计的性能(Google Places API)

不同数据库设计的性能(Google Places API)
EN

Stack Overflow用户
提问于 2014-05-16 00:34:49
回答 5查看 387关注 0票数 2

我想知道哪种数据库设计更有效率。在此之前,我的场景是我想使用google places api进行搜索。API将返回给我城市,州,国家和我有与这些数据有关系的列表。

在列表和位置之间将有多对多

第一次尝试:

代码语言:javascript
复制
Location Table

-id

-city

-states

-country

例如:

代码语言:javascript
复制
City |  States | Country

A  |  B  | C

D  |  B  | C

E  |  F  | G

当我搜索google API并返回给我响应时,我将检查表格并搜索城市、州和国家列。因此,这3列将被编入索引。

第二次尝试:

代码语言:javascript
复制
Location Table

-id

-parent_id

-name

所以,这就像是层级结构。因此,基本上,如果我试图搜索列表,如果它是国家,我将不得不查询孩子(州),然后从子列表,我需要再次查询,以获得特定的孩子(城市),以获得所有列表,我认为这将包括更多的查询涉及?

那么,当数据增长时,搜索表的最佳数据库设计是什么?在使用Google Places API时有什么建议的数据库设计吗?

EN

回答 5

Stack Overflow用户

发布于 2014-05-21 00:52:07

我以前遇到过这个问题,并尝试了许多选项,其中对我最有效的一个是制作三个表:城市、区域和国家。

代码语言:javascript
复制
countries [id,name]
zones [id,country_id,name]
cities[id,country_id,zone_id,name]

首先查询Countries表(只有190行,非常快)

代码语言:javascript
复制
SELECT id FROM countries WHERE name LIKE 'Spain';

之后,您可以使用country_id查询区域表,以限制比较的字符串数。

代码语言:javascript
复制
SELECT id FROM zones WHERE country_id = {Your country id} AND name LIKE 'Leon';

最后,查询城市

代码语言:javascript
复制
SELECT name FROM cities WHERE country_id = {Your country id} AND zone_id = {Your zone id} AND name LIKE 'Villabúrbula';
票数 1
EN

Stack Overflow用户

发布于 2014-05-21 20:58:32

如何在表中进行搜索?您是否从API中获取国家/地区、城市和州/地区,然后只查找列表?请把你的问题说清楚一点。

由于城市和城镇的总体数量相当有限(在美国大约有30K?),我将非常简单地结合

位置表

代码语言:javascript
复制
-id
-city
-states
-country

使用index (country, states, city)和mysql查询缓存:

代码语言:javascript
复制
select SQL_CACHE group_concat(id) from location where country={country} and states={states} and city={city}
票数 1
EN

Stack Overflow用户

发布于 2014-05-25 00:39:10

在我看来,您可以继续使用您的数据模型,并尝试主要使用索引来优化您的数据,正如您所知道的,数据库查询性能优化并不局限于索引,甚至有公司专门为其数据库的优化任务雇用工程师。对于索引,它取决于您的sql查询,所以下面是一个如何选择索引的图表:

你可以找到最初的帖子here,它提供了一些关于SQL性能优化和查询数据库的最佳实践的很好的技巧,因为很难提到所有的优化技巧,所以我建议你使用这个link

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23684008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档