Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 03.10.2007, 16:47 Titel: [MySQL] ORDER ohne Spaltenangabe? |
|
|
Hi,
ich habe eine Tabelle angelegt, die keine durchgehende Numerierung per ID hat. Ich möchte die Tabelle rückwärts ausgeben, normalerweise wäre das ja durch "ORDER BY id DESC" möglich... Aber ich möchte jetzt eigentlich keine weitere Spalte nur für dieses Zweck anlegen... Gibt es eine Möglichkeit, die Tabelle dennoch von unten nach oben auszugeben? In den Dokus wird ja immer nach einer Spalte sortiert...
Achja, bevor jetzt ein Witzbold kommt: Nein, ich kann die Tabelle nicht rückwärts eingeben, das hat nen Grund, warum ich das so mache  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 03.10.2007, 16:56 Titel: |
|
|
Wenn du weder ID, noch z. B. TIMESTAMP oder sowas hast, wird das wahrscheinlich schwierig. Das einzige, das mir einfällt, ist das Auslesen aller Einträge in ein Array und dann Rückwärtsausgeben des Arrays. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 03.10.2007, 17:04 Titel: |
|
|
Zitat: |
[17:03] jantore: Sure, if you only do inserts, chances are it will return everything in the same order as it was inserted, but if you start deleting stuff it will attempt to fill non-full pages by putting stuff you insert there. |
dann werd ich wohl besser ne ID-Spalte einfügen... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 03.10.2007, 17:07 Titel: |
|
|
Irgendwo in 'nem Wiki-Artikel hab ich gelesen, (Achtung! Gedächtnisauszug!) "moderne Datenbankanwendungen" sollten Einträge nicht löschen, sondern nur als "fehlerhaft" markieren. Der Grund verschleiert sich mir aber. Kommst wahrscheinlich trotzdem mit deiner ID-Spalte besser.
Sorry, wollt das nur mal gesagt haben.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 03.10.2007, 18:04 Titel: |
|
|
Es gibt meiner Ansicht nach auch nichts, das gegen eine ID-Spalte spricht. Dann hast du einen primary key, der Speicherplatzverbrauch ist minimal und die Nummerierung läuft ja dank auto increment auch von allein. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 03.10.2007, 20:06 Titel: |
|
|
habe inwzischen ne primary-spalte mit id drin, hat sogar gewisse vorteile beim aufräumen...  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 03.10.2007, 21:35 Titel: |
|
|
@Mao: gelöscht markierungen haben den vorteil, dass du nicht deine ganze datei komplett reorganisieren musst, dadurch würde deine datenbank einfach endlos langsam. reorganisieren tust du - wenn überhaupt automatisch und nicht sogar nur manuell per cronjob oder so - nur, wenn du viele als gelöscht markierte bereiche hast und der mehrverbrauch an performance dadurch zu groß wird. manchmal kannst du in als gelöscht markierte bereiche sogar wieder werte reinschreiben, die erst später eingefügt werden, dann sparst du dir gleich zwei reorganisationen (freien platz wegmachen beim löschen und dann zum einfügen wieder erzeugen). wenn man ne richtige datenbank hat (keine hobbydatenbank mit 10 einträgen) kostet ne reorganisation einfach viel zu viel zeit. _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 03.10.2007, 21:56 Titel: |
|
|
Worum geht's hier jetzt genau? Und heißt das, dass es nicht empfehleswert ist, öfters mal OPTIMIZE `table` auszuführen? _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 04.10.2007, 00:18 Titel: |
|
|
doch sicher, hin und wieder speziell nach größere löschaktionen. _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
|