2016-08-02 4 views
1

Wenn wir uns einen Teil des Stack Overflows ansehen, sehen wir in URL einen Pfad, in dem wir eine Nummer der Frage finden können.Soll ich Informationen darüber speichern, welcher Datensatz in der Datenbank vorhanden ist?

Beispiel: questions/38726547/title

wir die Zahl 38726547 sehen können, und ich möchte etwas ähnliches, aber meine Frage ist zu tun - sollte ich die Nummer in der Datenbank speichern, wenn einige Daten speichern (bevor die ich zählen sparen würde alle aktuell hinzugefügten Daten und erhöhen diese um 1)?

Beispiel:

question: 
    title: "blabla", 
    number: 3213 

oder vielleicht, dass die Informationen abrufen, wenn die Daten aus der Datenbank und das Zählen zu bekommen? Meiner Meinung nach ist das Speichern von Informationen über Zahlen einfacher und ich müsste nicht jedes Mal neue Berechnungen anstellen. Ich wollte dich fragen, was eine bessere Praxis ist.

+3

Sie suchen nach einem Auto-Inkrement-Feld, das als Primärschlüssel verwendet wird. –

Antwort

1

Diese Nummer wird verwendet, um einen Beitrag eindeutig zu identifizieren, daher sollte er wahrscheinlich in der Datenbank gespeichert werden.

Zuerst möchten Sie es speichern, um Abfragen (= Suchen) darauf zu optimieren.

Zweitens wird es als Primärschlüssel in Ihrer Datenbank gespeichert damit Sie die anderen Tabellen haben (zum Beispiel Kommentare) verlassen sich auf sie mit Fremdschlüssel.

Drittens, speichern Sie es die Freiheit, später Ihre Datenbank zu ändern. Stellen Sie sich beispielsweise vor, dass Ihre Datenbank zu groß wird und Sie alte gelöschte Themen löschen möchten. Wenn Sie sich dazu entscheiden, die Fragen 1 und 2 zu löschen, möchten Sie immer noch die Frage 3 auf den gleichen Beitrag zeigen, unabhängig davon, ob es sich nun um die "erste" Frage in der Datenbank handelt.

Verwandte Themen