localhorst: PHP: Session array erweitern -> Sortierfunktion im Index

Beitrag lesen

Hallo,

Man kann das gleich bei der Abfrage in die passende Form bringen. Dauert nicht messbar länger, aber spart meistens sogar merklich Speicherplatz.

Wie soll diese Einsparung zustande kommen? Möchte man eine Ergebnismenge mit n Zeilen und m Spalten in einem Zeilenarray speichern braucht man dafür n Array-Elemente, die ihrerseits jeweils ein Array der Länge m enthalten. Insgesamt liegt der Speicherbedarf also bei O(n*m). Möchte man in einem Spaltenarray speichern, dann braucht man m Arrays, die jeweils n Einträge enthalten. Der Speicherplatz liegt also bei O(m*n). Das ist Jacke wie Hose.

Soweit die Theorie.
Nur dumm, dass PHP hier gar keine klassischen statischen n*m-Arrays baut, sondern jedes Element irgendwo im Speicher ablegt. Verknüpft wird das dann über (Hash-)Listen mit Zeigern auf die eigentlichen Daten.

Listen mit numerischen Indexwerten benötigen weniger Platz, als solche mit assoziativen Textschlüsseln. Und wenn man nun im Kopfknoten den Textschlüssel und in den Blattknoten nur den numerischen Indexwerte vermerken muss, spart das Platz gegenüber anders herum.

Das kannst Du selber nachprüfen. Allerdings musst Du dafür eine ausreichende Anzahl von Testelementen produzieren, nicht nur drei...
Der Speicher wird immer "portionweise" allokiert.

Ich glaube der Artikel war von Tom und hieß "Arrays mal anders herum".

Kann sein. Ich dachte, dass er von Dedlfix war. Darum habe ich wohl nichts mehr im Archiv gefunden. Ich habe mir damals nur die Funktionen gebunkert, weil die ganz praktisch sind.

LG + Gesundheit
Localhorst

0 47

PHP: Session array erweitern -> Sortierfunktion im Index

PHP-Neuling
  • datenbank
  • html
  • php
  1. 1
    localhorst
    • datenbank
    • javascript
    • php
    1. 0
      PHP-Neuling
    2. 0
      dedlfix
      1. 0
        localhorst
        1. 0
          1unitedpower
          1. 0
            localhorst
            • php
            • speicher
            1. 0
              1unitedpower
  2. 0
    dedlfix
    1. 0
      PHP-Neuling
      1. 0
        dedlfix
      2. 1

        Wichtig: Zuerst den Plan!

        Raketendiagnistiker
      3. 2
        TS
        • datenbank
        • https
        • php
  3. 0
    Rakketendiagnostiker
    1. 0
      dedlfix
      1. 0
        Raketendiagnostiker
    2. 0
      PHP-Neuling
      1. 0
        PHP-Neuling
      2. 1
        dedlfix
        1. 0
          PHP-Neuling
          1. 0
            dedlfix
            1. 0
              PHP-Neuling
              1. 0
                dedlfix
              2. 1
                localhorst
                • html
                • kontextwechsel
                • php
          2. 0
            Rolf B
            1. -1
              dedlfix
              1. 0
                Rolf B
              2. 1
                localhorst
                • datenbank
                • https
                • php
  4. 0
    vapita
    1. 0
      Matthias Apsel
  5. 0
    PHP-Neuling
  6. 0
    Felix Riesterer
    1. 0
      Raketenwilli
  7. 0
    Raketenheini
    1. 0
      PHP-Neuling
      1. 0
        localhorst
      2. -1
        Raketenheini
        1. 0
          localhorst
          • datenbank
          • https
          • php
        2. 0
          PHP-Neuling
          1. 0
            Felix Riesterer
            1. 0
              PHP-Neuling
              1. 0
                Felix Riesterer
                1. 0
                  PHP-Neuling
          2. 0
            vapita
            1. 0
              PHP-Neuling
      3. 0
        dedlfix
        1. 0
          Rolf B