Mysql
 sql >> Datenbank >  >> RDS >> Mysql

php mysql - soll ich das feld category-name zu einer tabelle hinzufügen oder nicht?

Wenn Sie Millisekunden messen und die Festplatten-E/A Ihres Systems nicht extrem langsam ist, würde Option 2 eine bessere Leistung erzielen. Aber , sprechen wir von einem vernachlässigbaren Gewinn an Ausführungszeit. Da Sie bereits die DB abfragen, um die Nachricht zu erhalten, wäre es hochoptimiert, gleichzeitig nur den Kategorienamen zu erhalten. Ich würde eine Zuordnungstabelle von category-name-id hinzufügen zu Kategorienamen . Und das machen Sie mit, wenn Sie Neuigkeiten erhalten.

Unter dem Gesichtspunkt der Flexibilität und der Eliminierung möglichst vieler möglicher Fehlerquellen würde ich auch meiner obigen Idee folgen. Da es Ihrem System Flexibilität verleiht und alle Ihre Daten an einem Ort speichert. Das Ändern des Namens einer Kategorie würde das Bearbeiten einer Spalte in der Datenbank erfordern, anstatt eine PHP-Konfigurationsdatei zu bearbeiten, oder, wenn Option 1 verwendet wurde, das Aktualisieren jedes einzelnen News-Eintrags.

Also mein bester Rat, fügen Sie eine Tabelle mit category-name-id hinzu zu Kategorienamen Mappings und lassen Sie dann die News-Items die ID der Kategorie enthalten, zu der sie gehören.

Aus Leistungsgründen könnten Sie dann die Daten, die Sie über vorhandene Kategorien und andere Daten abrufen, zwischenspeichern, sodass Sie die Datenbank nicht ständig nach diesen Informationen abfragen müssen.

Zum Beispiel. Sie könnten, anstatt überhaupt beizutreten, alle Kategorien aus der oben beschriebenen Kategorietabelle abrufen. Zwischenspeichern Sie es in der Anwendung und erhalten Sie es nur, wenn der Cache ungültig ist. D.h. es kommt zu einem Timeout oder die Daten in der db werden manipuliert.