CONCAT-Optimierung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • CONCAT-Optimierung

    Hallo zusammen,

    ich habe ein Problem mit einem relativ langsamen Query.

    Problem ist folgendes:


    ich habe eine Tabelle mit folgendem Aufbau

    id
    laendervorwahl
    ortsvorwahl
    rufnummer
    durchwahl

    Ich benötige auch genau diesen Aufbau für viele andere Queries.



    Nun muss ich aber auch in einigen Fällen eine vollständige Rufnummer, die ich nicht vernünftig trennen kann mit dieser Tabelle vergleichen. Der Query sieht folgendermaßen aus:

    SELECT id FROM tabelle WHERE '492222996633' = CONCAT(laendervorwahl, ortsvorwahl, rufnummer, durchwahl)


    Hat irgendjemand eine Ahnung, wie ich solch eine Abfrage optimieren kann? Denn eine Vernünftige Indizierung ist hier nicht möglich.
    signed oder unsigned... das ist hier die Frage

  • #2
    Du kannst die Nummer als ganzes in einer extra Spalte speichern.

    Kommentar


    • #3
      Einen CONCAT String kann man nicht wirklich optimieren ... aber h3ll's Vorschlag könnte man automatisieren, indem man ein Zusätzliches Attribut einführt, das die vollständige Nummer enthält. Und diese schreibst Du über 'nen Trigger ...

      http://dev.mysql.com/doc/refman/5.1/...e-trigger.html

      Genaugenommen 2 Trigger (AFTER INSERT, AFTER UPDATE).
      carpe noctem

      [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
      [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

      Kommentar


      • #4
        *gg*

        vielen Dank für die Antworten, das habe ich übrigens auch mit Insert/Update - Triggern gemacht. Ich hatte mir nur erhofft, dies umgehen zu können
        signed oder unsigned... das ist hier die Frage

        Kommentar


        • #5
          Postgresql kann Indizes auf Ausdrücke

          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
          Wie man Fragen richtig stellt

          Kommentar


          • #6
            Und CHECK Constraints auch ... naund?
            carpe noctem

            [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
            [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

            Kommentar


            • #7
              Wenn man die Möglichkeit hat kann man das DBMS ja wechseln.

              Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

              bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
              Wie man Fragen richtig stellt

              Kommentar

              Lädt...
              X