Hallo!

Folgendes Szenario (am SQL Server):

                -------------------
                        Firmen
                -------------------
                  / n                   \ n
                 /                       \
                / 1                       \ n
--------------------            --------------------
   Kategorien                        Kombotabelle
--------------------            --------------------
                                         / n                    \ n
                                        / 1                     \ 1
                        --------------------            --------------------
                                St�dte                          PLZ
                        --------------------            --------------------

(Jeder Firma ist direkt eine Kategorie zugeordnet, sowie die ID eines
Datensatzes aus der Kombotabelle, der die Kombination aus Postleitzahl
und Ort darstellt (ein Ort, mehrere PLZ usw.))

F�r die Tabelle Firmen ist zudem ein Volltextkatalog angelegt. Die
wichtigsten Felder sind indiziert.

Nun m�chte ich ne quasi Volltextsuche machen - die sowohl einige Felder
der Firmen-Tabelle beinhaltet, als auch die Kategorie sowie Postleitzahl
und Ort.

Mein bisher schnellster Ansatz liegt bei sage und schreibe 2 Sekunden,
und das auf nicht einmal 20.000 Datens�tze... f�r mich schlicht unbe-
friedigend, zumal es eigentlich auch nicht an der Hardware liegen kann,
der Rechner ist kaum ausgelastet...

Die Abfrage schaut so aus:

------------------------------------------------------------------------

SELECT DIRECTORY_Zips.zip_value, DIRECTORY_Cities.city_name,
COMBO_Cities_Zips.combo_cz_id
FROM DIRECTORY_Companies INNER JOIN  COMBO_Cities_Zips ON
DIRECTORY_Companies.company_city =
COMBO_Cities_Zips.combo_cz_id INNER JOIN  DIRECTORY_Zips ON
COMBO_Cities_Zips.combo_cz_zip =
DIRECTORY_Zips.zip_id INNER JOIN DIRECTORY_Cities ON
COMBO_Cities_Zips.combo_cz_city = DIRECTORY_Cities.city_id

Where (CONTAINS(DIRECTORY_Companies.company_name_1,'n�rnberg') OR
CONTAINS(DIRECTORY_Companies.company_name_2,'n�rnberg') 
OR CONTAINS(DIRECTORY_Companies.company_adress_1,'n�rnberg') OR
CONTAINS(DIRECTORY_Companies.company_email,'n�rnberg') 
OR CONTAINS(DIRECTORY_Companies.company_website,'n�rnberg') OR
CONTAINS(DIRECTORY_Companies.company_fon,'n�rnberg') 
OR CONTAINS(DIRECTORY_Companies.company_text,'n�rnberg') OR
DIRECTORY_Zips.zip_value Like '%n�rnberg%'
OR DIRECTORY_Cities.city_name Like '%n�rnberg%') AND
DIRECTORY_Companies.company_category = 1

ORDER BY DIRECTORY_Companies.company_premium DESC,
DIRECTORY_Companies.company_image DESC, DIRECTORY_Companies.company_name_1
ASC

------------------------------------------------------------------------

Ich w�re wirklich �ber jeden Tipp dankbar, der mir dazu hilft, dass ganze
etwas
schneller zu machen.

Gru�, Thomas

_______________________________________________
Database.asp mailing list
[EMAIL PROTECTED]
http://www.glengamoi.com/mailman/listinfo/database.asp

Antwort per Email an