Zum Inhalt springen

[Mysql] Doppelte Datensätze anzeigen


Net-srac

Empfohlene Beiträge

Hallo zusammen und n gesundes neues Jahr,

gibt es eine möglichkeit mit einer SQL-Abfrage mehrfach vorkommende Inhalte zu zählen?

Also ich habe eine Tabelle z.B. mit Nachrichten und will herausfinden ob jemand spammt. Also müßte ich mit einer Datenbankabfrage schauen ob es doppelte oder mehrfache Nachrichtentexte gibt und diese dann am besten zählen...

Ich hab jetzt schon meinen Kopf rauchen lassen aber komm zu keinem passablen Ergebniss. :(

Vielleicht hat ja jemand nen Denkanstoß. :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Na ist doch ganz einfach.

select count(wert), wert from tabelle group by wert

Frank

Soweit ist das ganz gut... Das Problem ist nur, das ich etwa 950.000 Messages in meiner Tabelle hab... Typ ist text

Weil es geht ja darum Spammer und Kettenbriefschreiber aufzufinden und die Sachen zu löschen.

Und bei so einer Anfrage muß die DB file-sort verwenden was mir den ganzen Server runterzieht...

Ich hätte mir jetzt überlegt beim Eintragen einer neuen Mail über Absender, und Nachrichtentext nochmal ein MD5 zu legen und diesen als extra Varchar(30) mit in die Tabelle zu legen und auch mit einem Index zu versehen...

Darüber könnte ich dann sehen welcher Absender ständig gleiche Mails verschickt. Allerdings bin ich mir nicht sicher ob diese query soooo viel schneller gehen würde wenn ich die dann über 950.000 MD5-Strings mache...

Daher hatte ich gehofft das da noch jemand etwas performanteres im petto hat. :)

Danke trotzdem für die bisherigen Vorschläge. ;):)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich hätte mir jetzt überlegt beim Eintragen einer neuen Mail über Absender, und Nachrichtentext nochmal ein MD5 zu legen und diesen als extra Varchar(30) mit in die Tabelle zu legen und auch mit einem Index zu versehen...

Müsste es nicht VarChar(32) sein? Aber dann könntest du auch char(32) nehmen, weil der md5 immer 32 Zeichen lang ist ;)

Du könntest ja für jeden Beitrag nur den Text als Hash ablegen und dann immer den Hash mit den bisherigen Einträgen des Nutzers vergleichen. Das würde die 950000 Strings ja schon gewaltig reduzieren. Einmal die Woche, irgendwann Nachts wenn wenig los ist, könntest du dann ja nen Gesamtcheck über alle Einträge machehn und dir gleiche einträge ausgeben lassen. Die könntest du dann manuell prüfen.

Denke mal, dass das Spamen mit verschiedenen Nutzernamen nicht unbedingt das ist, was oft vorkommen würde. Und falls doch, lässt du den Komplettcheck eben 1mal jede Nacht laufen...

EDIT:

Ah, mir ist ja jetzt erst aufgefallen, es geht um Mails ;) Aber auch da wird das gerade genannte ja anwendbar sein und die Performance steigern...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...