agreeing with Steve, here; All SELECT queries take out Shared Locks for the period of time it takes to get the data; those shared locks might delay an update/insert/delete, but i don't think you'll see a SELECT block something, it's the other way around, an insert/update/delete can block other selects as well as insert/update/deletes.
if you have a left join, and the child table has a lot of rows, an index on the foreign key'd column might help, but to really know, we'd want to look at the .sqlplan, if you are able to post it.
performance problems for me are reviewed in the following order of probable pain points.:
SARG-ability of the queries ,
statistics being out of date
proper indexing to support the queries,
then maybe disk IO,, and the finally reviewing locking and blocking.
help us help you! If you post a question, make sure you include a CREATE TABLE... statement and INSERT INTO... statement into that table to give the volunteers here representative data. with your description of the problem, we can provide a tested, verifiable solution to your question! asking the question the right way gets you a tested answer the fastest way possible!