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