我在酒店预订网站上使用Geonames数据库。该数据库有两个表,一个用于国家,一个用于超过3密耳的城市。条目。如果我尝试获取特定国家/地区的所有城市,则查询速度太慢。我想是因为我没有定义任何索引。
countries表格包含以下字段:
cities表包含以下字段:
cities表中的“country”字段与countries表中的“iso_alpha2”字段相关。
如何加快查询速度?
P.S。我正在使用MySQL。
答案 0 :(得分:1)
您需要在WHERE子句中使用的字段上添加索引(在您的情况下,它似乎是 country 字段)。
编辑:还有一件事 - 如果你在WHERE子句中有多个条件,你需要添加一个包含该子句中使用的所有字段的索引(在字段上有单独的索引)工作)。但是,在您的情况下,我认为 country 字段中的索引应该这样做。
答案 1 :(得分:1)
对于此查询,您只需要cities表:
select name from cities where country = 'US'
此查询将受益于国家/地区的索引。