Camping_RIDER: ftx_cleartel_test

Beitrag lesen

Aloha ;)

Das ist ungefähr das was ich unter Erwähnung der binären Suche auch sagen wollte.

Das Problem hierbei ist, dass die Suche quasi umgekehrt stattfinden muss. Der Suchbegriff befindet sich in der Liste. Ansonsten müsste erst ein Teil der Telefonnummer abgeschnitten werden, um damit die Liste zu befragen. Da der Teil aber in der Länge variabel ist, ist das etwas ungünstig.

Ja, deshalb auch drei Suchen - mit zwei, drei und fünf Ziffern (vier Ziffern dann als Ausschlussverfahren). Macht drei binäre Suchen mit je einem Aufwand von 10 Vergleichen. Das ist noch überschaubar. Aber klar, es ist ein Nachteil.

Immerhin ging es in diesem Subthread ursprünglich genau darum, Aufwand auf Seiten der Eingabedaten und ihrer Erlangung/Formatierung einzusparen, auch wenn Gunnar bei entsprechender Fragestellung Recht hat mit seiner Datenstruktur.

Manchmal entscheidet sich der Optimizer von MySQL trotz vorhandenem Index, einen Full-Table-Scan auf die Tabelle zu fahren - zum Beispiel wenn die Datenmenge zu klein ist, als dass sich die Verwendung des Index lohnen tät.

Du sprichst da ein Problem an, das ich in dieser Form auch sehe, wenn wir von PHP sprechen. PHP befindet sich auf einer sehr hohen Abstraktionsstufe, im Vergleich zu anderen Hochsprachen. Gerade in PHP mit den sehr potenten Arrays ist es für mich gar nicht mehr intuitiv einschätzbar, wie der Aufwand eines Arrayzugriffs skaliert. Wenn wir über andere Hochsprachen sprechen (Java, C,...) dann wissen wir da, wie genau ein Array gespeichert wird und wie der Zugriff auf ein Array erfolgt - diese Arrays sind auch deutlich primitiver. Von Arrays in PHP habe ich kein so klares, eindeutiges Bild mehr von seiner Speicherabbildung. Und deshalb auch keine intuitive Einschätzung mehr davon, wie teuer oder billig die verschiedenen Zugriffsarten auf unterschiedliche Arrays ausfallen.

Was mich zu meiner Kernthese bringt: Um Datenstrukturen zu optimieren muss man ganz genau wissen, wie die Sprache mit den verschiedenen Datenstrukturen intern umgeht. Da ich das bei PHP nicht einschätzen kann mache ich mir außer in eklatanten Ausnahmefällen oft nichtmal allzuviele Gedanken über effizientere Datenstrukturen (immerhin ist die Effizienzbetrachtung hier auch definitiv nicht trivial).

Grüße,

RIDER

--
Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller Erreichbar manchmal im Self-TS (ts.selfhtml.org) oder sonst - wenn online - auf dem eigenen TeamSpeak-Server (fritz.campingrider.de) oder unter: # Facebook # Twitter # Steam # YouTube # Self-Wiki # ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[
0 108

input type="tel"

Jule
  • html
  1. 1
    MrMurphy1
    1. -1
      Jule
      1. 0
        MrMurphy1
      2. 0
        Gunnar Bittersmann
        • ux
        1. 0
          Jörg Reinholz
          1. 0
            Jule
            1. 0
              Christian Kruse
            2. 3
              MrMurphy1
          2. 3

            Offtopic / Codeschnipsel-Sammlung

            Camping_RIDER
        2. -1
          Jule
          1. 1
            Jörg Reinholz
            1. -1
              Jule
              1. 1
                Christian Kruse
              2. 0
                Jörg Reinholz
                1. 0
                  Jule
                  1. 3
                    Jörg Reinholz
                2. 0

                  ftx_cleartel_test

                  Jule
                  • php
                  1. 0
                    Jörg Reinholz
                    1. 0
                      Jule
                      1. 0
                        Jörg Reinholz
                        1. -1
                          Jule
                          1. 1
                            Camping_RIDER
                    2. 0
                      Gunnar Bittersmann
                      • sonstiges
                      1. 0
                        Jule
                        1. 0
                          Camping_RIDER
                          1. 0
                            Der Martin
                          2. 2
                            MudGuard
                          3. 2
                            Gunnar Bittersmann
                            • programmiertechnik
                            1. 1
                              Jörg Reinholz
                              1. 0

                                Neues Bastelzeug: Vorwahlen zu Array (json, php)

                                Jörg Reinholz
                                1. 0

                                  Bugfix: Vorwahlen zu Array (json, php)

                                  Jörg Reinholz
                            2. 0
                              Jörg Reinholz
                            3. 0
                              dedlfix
                              1. 0
                                Camping_RIDER
                                1. 0
                                  dedlfix
                                  1. 0
                                    Camping_RIDER
                                    1. 0
                                      dedlfix
                                      1. 0
                                        Camping_RIDER
                                        1. 0
                                          dedlfix
                                          1. 0
                                            Camping_RIDER
                                          2. 0
                                            Jörg Reinholz
                                            1. 0
                                              Camping_RIDER
                                              1. 0
                                                Jörg Reinholz
                                                1. 0
                                                  Camping_RIDER
                                                  1. 1
                                                    Jörg Reinholz
                                                    1. 0
                                                      Jörg Reinholz
                                                      1. 2

                                                        PHP7 gegen PHP5 - Messung

                                                        Jörg Reinholz
                                                        1. 0

                                                          HHVM gegen PHP7 gegen PHP5 - Messung

                                                          Jörg Reinholz
                                              2. 0
                                                Christian Kruse
                                                1. 0
                                                  Camping_RIDER
                                                  1. 0
                                                    Christian Kruse
                                                    1. 0
                                                      Camping_RIDER
                                                      1. 0
                                                        Der Martin
                                                        1. 0
                                                          Camping_RIDER
                                                  2. 0
                                                    Christian Kruse
                                                    1. 0
                                                      Camping_RIDER
                                                      1. 1
                                                        Christian Kruse
                              2. 0
                                Jörg Reinholz
                                1. 0
                                  MudGuard
                                  1. 0
                                    Jörg Reinholz
                                    1. 0
                                      woodfighter
                      2. 2
                        Christian Kruse
                  2. 0
                    Camping_RIDER
                    1. 0
                      Gunnar Bittersmann
                      • sonstiges
                      1. 0
                        Camping_RIDER
                        1. 0
                          MudGuard
                        2. 0
                          Gunnar Bittersmann
                          1. 0
                            Jule
                            1. 1
                              Gunnar Bittersmann
                              1. 0
                                Jule
                                1. 0
                                  Gunnar Bittersmann
                                  1. 0
                                    Jule
                                    1. 0
                                      Gunnar Bittersmann
                          2. 0
                            Camping_RIDER
                        3. 0
                          Jule
                3. 0
                  Gunnar Bittersmann
              3. 0
                Der Martin
                1. 0
                  Jule
                  1. 0
                    Der Martin
                    1. 0
                      Camping_RIDER
                    2. 0
                      Gunnar Bittersmann
                      • sonstiges
  2. 0
    Gunnar Bittersmann
    1. 0
      Jule
    2. 0
      Gunnar Bittersmann
      1. 0
        Jule
        1. 1
          Der Martin
          1. 1
            Gunnar Bittersmann
            • sonstiges
            • ux
        2. 0
          Jörg Reinholz
  3. 2
    Christian Kruse
  4. 0

    Telefonnummer-Formatierer

    Jörg Reinholz
    1. 0
      Jörg Reinholz
      1. 0
        woodfighter
        1. 0
          Jörg Reinholz
        2. 0
          Auge
          1. 0
            dedlfix
            1. 0
              Auge
              1. 0
                MudGuard
                1. 0
                  Auge
                2. 0
                  dedlfix
      2. 0
        MudGuard
        1. 0
          Jörg Reinholz
          1. 0
            MudGuard
            1. 0
              Jörg Reinholz
              1. 0
                Auge
                • html
                • links
                1. 0
                  Jörg Reinholz
                  1. 0

                    Verschachtelte Datenstruktur vs Binäre Suche

                    Camping_RIDER
        2. 0
          MudGuard