2017-04-26 16 views
0

Ich habe eine MySQL-Tabelle mit einer Spalte namens countrycode und es enthält Telefoncodes aus verschiedenen Ländern. Auf meiner Website muss ich die Ländernamen in der Nähe des Ländercodes anzeigen, es gibt jedoch keine übereinstimmenden Daten in der Datenbank.Leistungsunterschied im Umgang mit Daten

Also habe ich zwei Möglichkeiten, eine neue Spalte für die Länder hinzufügen und aktualisieren Sie sie mit den Ländernamen. Oder ich kann eine Funktion schreiben, die beim Laden der Seite die richtigen Ländernamen zurückgibt. Die Funktion wäre so etwas wie:

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

Meine Frage ist, dass es einen ernsthaften Zeit-/Leistungsunterschied zwischen den beiden Lösungen gibt? Ich nehme an, die Werte aus der Datenbank zu bekommen wäre besser, aber wenn es keinen radikalen Unterschied gibt, kann ich die Funktion verwenden.

+0

'#und so weiter ...' sollte durch ein Wörterbuch ersetzt werden. Keine if-Anweisungen. Beispielsweise. '{" 1 ":" USA "} [Ländercode]' –

Antwort

0

Flask rendert eine Vorlage aus den Daten, nehme ich an? Das Hinzufügen eines weiteren Web-Server-Funktionsaufrufs für eine einfache Suche wäre nicht der schlechteste, aber er könnte sich abhängig von der Menge der Daten addieren, die Sie haben.

Ihr Code könnte eher als

# 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] 

geschrieben werden Die leistungsfähigere Lösung wird die Spalte in der Datenbank hinzuzufügen, though.