As all the other replies, it seems like a classic bad cardinallity problem. I might add to update statistics, to check the execution plan. Perhaps you have more than one execution plan for your query, if this is the case, you can remove it from the memory and then when you run it again it will be created from scratch.
You can also check with qyery hint rebuild, to force to create a fresh execution plan.
Finally, if you reestart the instance, all the execution plans will be created an the stats will be updated. Of course you can done all this manually by updating all the involved tables and executing DBCC FREEPROCCACHE (options), to clean the memory of you instance.
Hope this helps.