I'm almost certain these statements have absolutely no effect on the results of the query.
After removing these, try putting the sort back to p.publishDate DESC and adding an index on p.publishDate. I think you need an index on p.publishDate either way since it is part of your query.
this works great actually, nice catch, not sure why I had that bit in there. Removing that and adding an index to the publishDate field seems to have solved the problem nicely.
I'm almost certain these statements have absolutely no effect on the results of the query.
After removing these, try putting the sort back to
p.publishDate DESC
and adding an index on p.publishDate. I think you need an index on p.publishDate either way since it is part of your query.