webForumDet fria alternativet

sökning i flera tabeller

3 svar · 143 visningar · startad av rollo

rolloMedlem sedan aug. 2001203 inlägg
#1

Hej!

Jag skall göra en sökning till mitt intranät och då behöver jag söka i väldigt många tabeller.

Jag kan hantera att göra en sökning i en tabell, men ett 30-tal klarar jag inte!

Skall man gå på någon produkt eller finns det någon bra SQL-sats?

Jag kör SQL-server 7.0 och asp-kod.

tackar!

rollo

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Om du har behov av att söka i trettio olika tabeller så tycker jag att din datamodell verkar vara suspekt.

(Du kan slå ihop resultatet av flera frågor med hjälp av en union


select 'Tabell1' as source, description from tabell1 where description like '%searchword%' union all
select 'Tabell2' as source, description from tabell2 where description like '%searchword%'

etc, men det blir inte effektivt. SQL är inte bra för fritextsökning. Några dbms har tilläggspryttlar för detta.)

------------------
essentitia preter non sans multiplicandum

HermanMedlem sedan maj 2001431 inlägg
#3

Vill du göra fritextsökningar och har MS SQL7 bör du absolut använda det inbyggda stödet fulltext-index och inte LIKE.

30 tabeller... jo det verkar lite mysko.
Ett alternativ kan då vara att dumpa önskvärd data till filer som sedan kan genomsökas mha Index Server eller dyl.

------------------
En eller annan godbit från pannan

rolloMedlem sedan aug. 2001203 inlägg
#4

Hej!

Tack för tipsen!

Varför jag har ca 30 tabeller beror på att jag aldrig byggt något av denna storlek förut. För att komma igång tittade jag på databasen som driver vår hemsida, byggt av en känd webbyrå, ej framfab, som har väldigt många tabeller!

Nu skall jag försöka konsolidera tabellerna, vilket skall gå, så att jag kommer ner på under 5 tabeller!

Tack för hjälpen!

rollo

122 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
119 ms — hämta tråd, inlägg och bilagor (db)