Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Ähnliche Datensätze (https://www.delphipraxis.net/124526-aehnliche-datensaetze.html)

gmc616 20. Nov 2008 15:30

Datenbank: MySQL • Version: 5 • Zugriff über: ZEOS

Ähnliche Datensätze
 
Hallo Delphianer,

ich muß, um einen Datenbestand zu bereinigen, ähnliche Datensätze in meinem Artikelstamm finden.

Dieser SQL funktioniert und bringt genau das wollte Ergebnis:
SQL-Code:
SELECT Aid, Title
FROM Artikel
WHERE Replace( Replace( Upper( Trim( Title ) ) , ' ', '' ) , '-', '' )
IN (
  SELECT Replace( Replace( Upper( Trim( Title ) ) , ' ', '' ) , '-', '' )
  FROM Artikel
  GROUP BY 1
  HAVING count( * ) >1
)
ORDER BY Title;
Allerdings braucht der Befehl für 350 Datensätze ca. 20 Sekunden. Das finde ich ein bisschen lang.
Zumal, wenn ich mein Programm auf die heiße Produktions-DB loslasse, dort ca. 3500 Artikel zu untersuchen sind.

Das Ganze läuft auf einer MySQL InnoDB, weil ich die Transaktionskontrolle brauche. Deswegen kann ich die Volltextsuche nicht nutzen.

Habt ihr evtl. ne Idee, wie ich den SQL-Befehl beschleunigen kann?

Danke und Grüße
gmc

mkinzler 20. Nov 2008 15:36

Re: Ähnliche Datensätze
 
Ein weiteres Feld, welches du mit entsprechenden Werten füllst

gmc616 20. Nov 2008 15:59

Re: Ähnliche Datensätze
 
Wow!

Danke für den Denkanstoß! :thumb:

0.5 Sekunden sind akzeptabel.

SQL-Code:
 SELECT DISTINCT a.aid, a.title
FROM artikel a, artikel b
WHERE a.filter = b.filter
AND a.aid <> b.aid


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:18 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz