gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-30 20:27:38 25 4
gpt4 key购买 nike

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

Listing和Location之间会有多对多

第一次尝试:

Location Table

-id

-city

-states

-country

例如:

City |  States | Country

A | B | C

D | B | C

E | F | G

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

第二次尝试:

Location Table

-id

-parent_id

-name

所以,这就像层次结构。所以基本上,如果我尝试搜索列表,如果它在国家/地区,我将不得不查询子项(州),然后从子项中,我需要再次查询以获取特定的子项(城市)以获取所有我认为将包含更多查询的列表?

那么,当数据增长时,通过表进行搜索的最佳数据库设计是什么?使用 Google Places API 时对数据库设计有何建议?

最佳答案

我以前遇到过这个问题并尝试了很多选择,最适合我的是制作 3 个表格:城市、地区和国家。

countries [id,name]
zones [id,country_id,name]
cities[id,country_id,zone_id,name]

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

SELECT id FROM countries WHERE name LIKE 'Spain';

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

SELECT id FROM zones WHERE country_id = {Your country id} AND name LIKE 'Leon';

最后查询城市

SELECT name FROM cities WHERE country_id = {Your country id} AND zone_id = {Your zone id} AND name LIKE 'Villabúrbula';

关于mysql - 不同数据库设计的性能(Google Places API),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23684008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com