Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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ß. :)

Geschrieben
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. ;):)

Geschrieben

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...

Geschrieben

Hmm... klingt interessant, aber für den Vollcheck werd ich dann doch noch irgendwas finden müssen, damit sie nicht das komplette System in die Knie zwingt.

Danke erstmal. Ich werd wohl mal den letzten Ansatz aufgreifen und mir eine Implementierlösung bauen.

thnx. :)

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...