like Abfrage
Thomas Goik - auxion.de
technik at auxion.de
Sa Jan 3 14:25:44 CET 2009
Hallo Uwe;
> gibt es evtl. auch noch einen schnelleren oder besseren Weg? Evtl. mit
> join?
Du machst ja schon ein JOIN
>
> Die Abfrage oben muß jede einzelne Zeile vergleichen bei großen Daten
> mengen....
Du vergleichst ja Werte per Wildcard sign - und das am Anfang, damit kann
der Optimizer nun leider nichts anfangen,
Du könntest folgendes machen
Deine Tabellen etwas erweitern:
alter table table1 add name_reverse varchar(120), add key
(name_reverse(XX));
alter table table2 add name_reverse varchar(120), add key
(name_reverse(XX));
In diesem Feld speicherst du dann die selben Daten wie in name, allerdings
in umgedrehter Reihenfolge, also
Aus name.tld wird dlt.eman und diese kannst du dann eben so vergleichen das
du die Werte mit
where table2.name_reverse like CONCAT(table1.name_reverse, '%');
Damit könnte der Optimizer eher etwas anfangen - auch wenn du selber das
nicht weiter verwendest
Check es mal!
Mit freundlichen Grüssen
Thomas Goik
--
Lofox GmbH
Geschäftsführerin: Evelyn Fuchs
Im Kamperholz 48
44805 Bochum - Germany
Amtsgericht Bochum HRB 7042
USt-IdNr.: DE215698227
St.-Nr. Bochum 306/5885/0172
> -----Mensaje original-----
> De: mysql-de-bounces at lists.4t2.com [mailto:mysql-de-
> bounces at lists.4t2.com] En nombre de Uwe Driessen
> Enviado el: sábado, 03 de enero de 2009 0:42
> Para: mysql-de at lists.4t2.com
> Asunto: RE: like Abfrage
>
> On Behalf Of Thomas Goik - auxion.de
>
> Hallo Thomas
>
> >
> > Hallo uwe;
> >
> > Hast du schon mal mit CONCAT probiert
> > ...
> > where table2.name like CONCAT('%',table1.name);
> >
> > Wäre mal ne Idee von mir zu deinem Problem
>
> War eine gute Idee er hat es gemacht ich muß jetzt nur schauen ob er
> auch alle mitgenommen
> hat.
>
> Es scheint so allerdings musste ich die Abfrage umstellen
>
> where table1.name like CONCAT('%',table2.name);
>
>
> >
> >
> >
>
>
> Mit freundlichen Grüßen
>
> Drießen
>
> --
> Software & Computer
> Uwe Drießen
> Lembergstraße 33
> 67824 Feilbingert
> Tel.: +49 06708 / 660045 Fax: +49 06708 / 661397
>
>
> _______________________________________________
> Allgemeine Infos zur Liste: http://www.4t2.com/mysql/
> Verwaltung: https://lists.4t2.com/cgi-bin/mailman/listinfo/mysql-de