Avatar billede egeriis Nybegynder
01. oktober 2008 - 21:35 Der er 1 løsning

Optimering ift. søgning i keywords

Hej,

Jeg søger nogle tips til optimering af nedenstående queries. Først en forklaring af mine tabeller:
test_ads indeholder annoncer
test_ad_keys_where og test_ad_keys_who indeholder ad_id's og keyword_id's for at linke ads og keywords sammen
test_keywords indeholder keywords

Jeg ønsker at finde de annoncer hvor keywords matcher en søgning. Jeg har fået sammensat nedenstående query, men synes at ønske at det kører hurtigere.
Alle tips er velkomne, også forslag til anden struktur.

Ift. en anden struktur, arbejder jeg med tanken om at bruge Match Against, hvor jeg har samlet 'where'-keywords og 'who'-keywords til en fulltext-index'ed string. Hvordan vurderes denne struktur ift. nedenstående?

På forhånd tak for dit svar!


SELECT `a`.`ad_id`
FROM `test_keywords` AS `k1` , `test_keywords` AS `k2`
JOIN `test_ad_keys_where` AS `e` ON `e`.`keyword_id` = `k2`.`keyword_id`
JOIN `test_ad_keys_who` AS `o` ON `o`.`keyword_id` = `k1`.`keyword_id`
JOIN `test_ads` AS `a` ON `a`.`ad_id` = `e`.`ad_id`
AND `a`.`ad_id` = `o`.`ad_id`
JOIN `customers` AS `c` ON `c`.`id` = `a`.`customer_id`
WHERE (
`k1`.`keyword` LIKE 'taxi%'
)
AND (
`k2`.`keyword` LIKE 'københavn%'
)
Avatar billede egeriis Nybegynder
03. november 2008 - 22:14 #1
Intet svar.
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