If a portal user only has permission to access a subset of records, defined via sharing rules, should the SOQL still use a WHERE clause, or should it be left off of the query?
List<MyObject__c> myObjects = [SELECT Id, Name FROM MyObject__c];
vs.
List<MyObect__c> myObjects = [SELECT Id, Name FROM MyObject__c WHERE Parent_Contact__c = :contactId];
Edit:
The bottom line question is: Should the WHERE clause always be added to the query, or would it be considered overkill when sharing is enforced?