![]() |
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:
Allerdings braucht der Befehl für 350 Datensätze ca. 20 Sekunden. Das finde ich ein bisschen lang.
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; 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 |
Re: Ähnliche Datensätze
Ein weiteres Feld, welches du mit entsprechenden Werten füllst
|
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