2017-04-26 39 views
0

我有一个名为countrycode的列的MySQL表,它包含不同国家的电话代码。在我的网站上,我需要在国家代码附近显示国家名称,但数据库中没有匹配的数据。处理数据的性能差异

所以我有两个选择,为国家添加一个新列,并用国名更新它。或者我可以编写一个函数,在页面加载时返回适当的国家名称。功能可能是这样的:

def return_country(countrycode): 
    if "1" == countrycode: 
     return "USA" 
    #and so on... 

我的问题是,这两种解决方案之间是否存在严重的时间/性能差异?我假设从数据库获取值会更好,但是如果没有根本的差异,我可以使用该函数。

+0

'#等... ...'应该用字典来代替。没有if语句。例如。 '{“1”:“美国”} [countrycode]' –

回答

0

瓶子从数据中呈现模板,我猜?添加一个网络服务器函数调用进行简单的查找不会是最差的,但它可能会相加,具体取决于您拥有的数据量。

你的代码可以相当写成

# Or load this from a JSON file 
COUNTRIES = { 
    "1": "USA" 
} 

def return_country(countrycode): 
    if countrycode not in COUNTRIES: 
     return None 
    else: 
     return COUNTRIES[countrycode] 

更高性能的解决方案是增加列在数据库中,虽然。