MySQL Statement mit REPLACE bei großen Datenmengen

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

  • MySQL Statement mit REPLACE bei großen Datenmengen

    hi,

    ich habe folgende 2 Statements die auch in der reihenfolge wie ich sie hier poste aufgerufen werden

    PHP-Code:
    $sql "REPLACE INTO {prefix}banner_stats_evaluate 
    (banner_id, placement_id, campaign_id, stats_date, stats_hour, views, clicks)
    SELECT banner_id, placement_id, campaign_id,
    CONCAT(YEAR(stats_datetime), '-', LPAD(MONTH(stats_datetime), 2, '0'), '-', 
    LPAD(DAYOFMONTH(stats_datetime), 2, '0')) datum, CONCAT(HOUR(stats_datetime), ':00'), 
    SUM(IF(type='view', 1, 0)) as views,
    SUM(IF(type='click', 1, 0)) as clicks
    FROM {prefix}banner_stats GROUP BY datum, banner_id, placement_id, campaign_id"
    ;
        if(
    $db->query($sql)) {
            
    $status_1 'OK';
        }

    $sql "DELETE FROM {prefix}banner_stats WHERE
     stats_datetime<CONCAT(LEFT(NOW()+0, 10), '0000')"
    ;
    $db->query($sql); 
    Meine Frage ist nun: Lässt MySQL eventuell beide Statements gleichzeitig ausführen? D.h. während das erste Statement nach und nach alle Daten von Tabelle A nach B überträgt, dass in der zwischenzeit das zweite Statement die Daten aus Tabelle A löscht?

    Effekt z.Z. ist: Es gehen anscheinend viele Einträge verloren und ich suche nun den Grund dafür.
    Sunshine CMS
    BannerAdManagement
    Borlabs - because we make IT easier
    Formulargenerator [color=red]Neu![/color]
    Herkunftsstatistik [color=red]Neu![/color]

  • #2
    Und wenn du um sicher zu gehen mal die 2te SQL abfrage in die if($db->query($sql)) {} Abfrage reinschiebst?

    ODER du könntest auch das Script für x-Sekunden pausieren lassen bevor es das 2te ausführt.

    Kommentar


    • #3
      Nein ... MySQL würde schon ... PHP aber nicht, weil du keine MultiThreading Anwendung damit erstellt hast ... !
      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
        Na super, dann muss ich weiter suchen
        Sunshine CMS
        BannerAdManagement
        Borlabs - because we make IT easier
        Formulargenerator [color=red]Neu![/color]
        Herkunftsstatistik [color=red]Neu![/color]

        Kommentar


        • #5
          Problem gefunden:
          Beim Gruppieren wurde die Zeit-Spalte nicht beachtet. Habe die Spalte beim Gruppieren ergänzt und nun funktioniert alles korrekt.
          Sunshine CMS
          BannerAdManagement
          Borlabs - because we make IT easier
          Formulargenerator [color=red]Neu![/color]
          Herkunftsstatistik [color=red]Neu![/color]

          Kommentar

          Lädt...
          X