Avatar billede c-sharp Nybegynder
19. januar 2005 - 06:22 Der er 8 kommentarer og
1 løsning

Kan man lave en søgning i et view eller dele sin søgning op

Jeg har en meget tung søgning (Det har jeg vist sagt før :-)) men jeg har tænkt på noget for at gøre den letter. I den tabel jeg søger med vildcart %xxx% har jeg ca 16.000 poster, det er alle teksterne til mine vare, disse ligger i 3 forskellige sprog. Er det så ikke muligt først at dele disse poster op efter sprog, for jeg søger kun i et sprog af gangen? Dvs. evt. at lave et view med alle danske poster (ca 5000), også lave min søgning med vildcart i dette view, eller noget lignende?
Avatar billede arne_v Ekspert
19. januar 2005 - 07:27 #1
Du kan SELECT'e fra et view helt ligesom du kan SELECT'e far en tabel.

Men medmindre det er et materialized view, så tvivler jeg på at det giver
bedre performance.

(det hedder vist ikke materialized view i SQLServer, men SQLServer hajerne
kan et lille trick med at sætte index på et view)

Men du kan kunne da også prøve med:

SELECT ... WHERE lang='DK' AND noget LIKE '%xxx%'

og se om ikke optimizeren trods alt bruger lang betingelsen fornuftigt,
Avatar billede c-sharp Nybegynder
19. januar 2005 - 11:36 #2
Jeg har bygget sql-sætningen op ala det du skriver. Nu har jeg så prøvet at lave et view med alle de danske tekster, også søge med vildcart i disse, det giver en lidt længere søgetid! Kan det passe når der nu kun er 1/3 poster at søge i? Selve view'et tager afvikles superhurtigt.
Avatar billede arne_v Ekspert
19. januar 2005 - 11:47 #3
Det lyder meget naturligt - hvis ikke det view er materialiseret, så er det
bare overhead.
Avatar billede c-sharp Nybegynder
24. januar 2005 - 09:08 #4
arne_v tak for hjælpen, smid et svar så er der point!

hvad er et 'materialized view' og hvad er det modsatte?
Avatar billede arne_v Ekspert
24. januar 2005 - 10:00 #5
svar
Avatar billede arne_v Ekspert
24. januar 2005 - 10:02 #6
almindeligt view = data ligger fysisk ude i tabeller og når view bruges så
hentes data der

materialized view = viewets data ligger fysisk
Avatar billede c-sharp Nybegynder
24. januar 2005 - 10:05 #7
Men man kan ikke lave et materialized view i MS-SQL eller hvad?
Avatar billede arne_v Ekspert
24. januar 2005 - 10:11 #8
Jeg mener at SQLServer hajerne kan et trick med at lave et specielt index
på et view, som giver samme effekt (selvoM MS ikke bruger termen
"materialized view").
Avatar billede c-sharp Nybegynder
24. januar 2005 - 10:13 #9
Tak for din tid!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester