Avatar billede Syska Mester
15. oktober 2008 - 11:27 Der er 2 kommentarer og
1 løsning

Søgning på multiple columns

Hej,

Det er sådan lidt måske ude i skoven, men jeg er lidt lost på hvordan man ville lave en søgning på mange columns, og stadig vedligeholde performance.

Jeg scanner en masse mails, tager en masse information ud. Struktur ser nogenlunde sådan her ud:
MailID, To, From, ToDomain, FromDomain, Date, Time ( og en masse andre columns, men ideen burde være her)

(To/From) og (FromDomain/ToDomain) er Foreign keys

Hvordan laver man den mest optimale måde at søge i sådan en table struktur ?
Det kræver jo et kæmpe index ... og rækkefølgen skal jo helst passe med hvordan ens række følge på ens index

MSSQL:
WHERE To = ISNULL(@To, To) AND FromDomain = ISNULL(@FromDomain, FromDomain)

eller hvordan ville man løse det ... og er det den rigtige fremgangs måde ?

Jeg kan nemt forstille mig at der kommer flere Foreign keys ... når jeg lige får det hele lidt mere gennemtænkt ....

// ouT
Avatar billede Syska Mester
15. oktober 2008 - 17:41 #1
Skal lige siges at jeg ikke ved hvad brugeren måtte ønske at søge efter ...
Avatar billede arne_v Ekspert
15. oktober 2008 - 21:46 #2
Index paa alle de felter der skal soeges i.

Og hvis du vil undgaa dynamisk SQL saa er ISNULL tricket udmaerket.

Mange betingelser med AND imellem boer ikke give performance problemer.
Avatar billede arne_v Ekspert
25. oktober 2008 - 23:01 #3
OK ?
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